p`:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 None,/59;<=DIQRTb  :;$   None,/59;<=DIQRTbDiscretized log-odds.KThe BLOSUM matrices, for example, store data in discretized log-odds form.7TODO Might move up even higher into statistics modules.  &'()*+,-/:&;'  /'&/'&/'&/'&/'&-,+*)( ()*+,-/'&None,/59;<=DIQRTb3Add Text and return Inte key. Will return key for existing string and thereby serves for lookup in left-to-right direction.4 Lookup the InternedMultiChar based on an Int" key. Unsafe totality assumption.234234234234None,/59;<=DIQRTb5$A species name. Represented with an Int, but behaves like a Text.:;The taxonomic rank. This encodes the name for a given rank.?<Smart constructor that performs the correct internalization.567:;<=>?@ABCDEFGHIJKLMNOPQRT :=;>567:;<?)567T>=T>=T>=T>=T>=R?QPONMLKJIH:;<GFEDCBA@567:;<?@ABCDEFGHIJKLMNOPQRT>=None,/59;<=DIQRTb\ A linear Int-based index type._Turn an < into an \ safely.`Produce = and \ or >.\]^_`abcdefgnopqrsu :n;o\]^_`\]^_`gfedcbauonuonuonuonuonsrqp\]^_`abcdefgpqrsuonNone,/59;<=DIQRTb xOne-based indices.yZero-based indices.zUses _ to guarantee that the \ is ok.{Re-Index an index of type Index n as Index m. This is always safe, as  0 :: Index 0 gives  1 :: Index 17 for example. I.e. valid indices become valid indices.|Helper function that allows addition of an \ and an < , with the < on the right.} Unsafe plus.~Helper function that allows  subtraction of an \ and an < , with the < on the right.Delta between two \ points. Unsafe minus.Return the index as an Int -style index that is zero-based.As an index from an Int-style zero-based one.1TODO We might want to check that the argument is [0..]. xyz{|}~\^_`xyz{|}~z{|}~yx^_`\^ xyz{|}~None,/59;<=DIQRTbSmall numbers.;Very large and small numbers with some numerical safety to 1/0 or maxBound (depending on if we are Integral or  RealFloat.We have: #maxFinite >= maxExtreme >= maxLarge maxLarge >= minLarge#minLarge >= minExtreme >= minFinite. None,/59;<=DIQRTbGibbs free energy change.\For RNA structure, the change in energy from the unfolded structure to the given structure. In units of  kcal / mol.,TODO shall we phantom-type the actual units?round $ DeltaGibbs / 100. :;2 None,/59;<=DIQRTbType-safe wrapper for e-values.By default, we expect no hits.:;  None,/59;<=DIQRTbmBit score; behaves like a double (deriving Num). In particular, the algebraic operations behave as expected *Bitscore a + Bitscore b == Bitscore (a+b).#Currently geared towards use as in Infernal and HMMER.?Infernal users guide, p.42: log-odds score in log_2 (aka bits).CGiven a null model and a probability, calculate the corresponding BitScore.TODO  x<=epsilon ?Given a null model and a BitScore& return the corresponding probability.,A default bitscore of "-infinity", but with 10-1 wiggle room.5TODO Check out the different "defaults" Infernal uses :;  None,/59;<=DIQRTb &Species have an accession number, too.<Tag as being an Rfam model. Used for Stockholm and CM files.Tag as being a Pfam model.Tag as being a clan.protein sequencenucleotide sequence>The accession number is a unique identifier in bioinformatics.Depending on the source, accession numbers follow different alphanumeric formats! While letters-than-numbers is quite common, swissprot uses a mix. Hence, we just use a text string as accession.tA phantom type is provided to enable type safety annotations. Helper functions provide smart construction from the  Accession tagged generic type.5Generate an accession with an explicit phantom type: accession' Nucleotide Bla has type :: Accession Nucleotide.$Generate an accession when the type  Accession t is clear from the context.Retag an accession,Guess the type of accession number. Returns Nothing if unknown structure.   None,/59;<=DIQRTbTaxonomic classification. Enum together with a final Unknown is somewhat fishy.%KA somewhat generic representation of a species within a taxonomic context.'"the full, formal name of a species("the accession for the species (or "" if unknown))&vector with classification information%&'()*+,-./013:*;+%&(')*3+*3+*3+*3+*3+*%&'()10/.-, %&'(),-./013+*?   !"#$%&'()**+,-./0123456789:;<=>?@@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeefghijklmnopqrstuvwxy$z{|}~                                                           ! " " # $ % & ' ( ) * + , - . / 0 1 2 3 45675689:;<=><=?@+BiobaseTypes-0.1.2.0-4orDP6jtu4AAFNWn3qTAP0Biobase.Types.StrandBiobase.Types.OddsBiobase.Types.Names.InternalBiobase.Types.NamesBiobase.Types.Index.TypeBiobase.Types.IndexBiobase.Types.NumericalExtremesBiobase.Types.EnergyBiobase.Types.EvalueBiobase.Types.BitscoreBiobase.Types.AccessionBiobase.Types.TaxonomyStrand getStrand AntiSenseSenseMP$fNFDataStrand$fHashableStrand$fFromJSONStrand$fToJSONStrand$fSerializeStrand$fBinaryStrand $fEnumStrand$fBoundedStrand $fReadStrand $fShowStrand $fEqStrand $fOrdStrand$fGenericStrandV_Strand MV_Strand$fArbitraryStrand$fIndexStreamStrand$fIndexStream:. $fIndexStrand$fVectorVectorStrandD:R:VectorStrand0$fMVectorMVectorStrand $fUnboxStrandDLOgetDLO $fGenericDLO$fEqDLO$fOrdDLO $fShowDLO $fReadDLOV_DLOMV_DLO $fNFDataDLO $fHashableDLO $fToJSONDLO $fFromJSONDLO$fSerializeDLO $fBinaryDLO$fVectorVectorDLOD:R:VectorDLO0$fMVectorMVectorDLO $fUnboxDLOspeciesNameBimapspeciesNameBimapAddspeciesNameBimapLookupInt SpeciesNamegetSpeciesNameRep$fEqSpeciesName$fGenericSpeciesName TaxonomicRankgetTaxonomicRank V_SpeciesNameMV_SpeciesName speciesName$fToJSONTaxonomicRank$fFromJSONTaxonomicRank$fSerializeTaxonomicRank$fBinaryTaxonomicRank$fReadTaxonomicRank$fHashableTaxonomicRank$fStringableTaxonomicRank$fNFDataTaxonomicRank$fToJSONSpeciesName$fFromJSONSpeciesName$fSerializeSpeciesName$fBinarySpeciesName$fNFDataSpeciesName$fStringableSpeciesName$fHashableSpeciesName$fReadSpeciesName$fShowSpeciesName$fIsStringSpeciesName$fOrdSpeciesName$fVectorVectorSpeciesNameD:R:VectorSpeciesName0$fMVectorMVectorSpeciesName$fUnboxSpeciesName$fIsStringTaxonomicRank$fEqTaxonomicRank$fOrdTaxonomicRank$fShowTaxonomicRank$fGenericTaxonomicRankIndexgetIndexindex maybeIndex$fHashableIndex$fFromJSONIndex $fToJSONIndex$fSerializeIndex $fBinaryIndex $fNFDataIndex $fNumIndex $fShowIndex $fReadIndex $fEqIndex $fOrdIndex$fGenericIndex $fIxIndexV_IndexMV_Index$fArbitraryIndex$fIndexStreamIndex $fIndexIndex$fVectorVectorIndexD:R:VectorIndex0$fMVectorMVectorIndex $fUnboxIndexI1I0 checkIndexreIndex+. unsafePlus-.delta unsafeMinustoInt0fromInt0NumericalEpsilonepsilonNumericalExtremes maxFinite minFinite maxExtreme minExtrememaxLargeminLarge$fNumericalEpsilonDouble$fNumericalExtremesDouble$fNumericalExtremesInt DeltaGibbsDGgetDG$fEqDeltaGibbs$fOrdDeltaGibbs$fNumDeltaGibbs$fFractionalDeltaGibbs$fReadDeltaGibbs$fShowDeltaGibbs$fGenericDeltaGibbsDeltaDekaGibbsDekaGgetDekaG V_DeltaGibbs MV_DeltaGibbs$fDefaultDeltaGibbs$fNFDataDeltaGibbs$fToJSONDeltaGibbs$fFromJSONDeltaGibbs$fSerializeDeltaGibbs$fBinaryDeltaGibbs$fHashableDeltaGibbs$fVectorVectorDeltaGibbsD:R:VectorDeltaGibbs0$fMVectorMVectorDeltaGibbs$fUnboxDeltaGibbs$fEqDeltaDekaGibbs$fOrdDeltaDekaGibbs$fNumDeltaDekaGibbs$fReadDeltaDekaGibbs$fShowDeltaDekaGibbs$fGenericDeltaDekaGibbs$fNumericalEpsilonDeltaGibbs$fNumericalExtremesDeltaGibbsV_DeltaDekaGibbsMV_DeltaDekaGibbs$fDefaultDeltaDekaGibbs$fNFDataDeltaDekaGibbs$fToJSONDeltaDekaGibbs$fFromJSONDeltaDekaGibbs$fSerializeDeltaDekaGibbs$fBinaryDeltaDekaGibbs$fHashableDeltaDekaGibbs$fVectorVectorDeltaDekaGibbsD:R:VectorDeltaDekaGibbs0$fMVectorMVectorDeltaDekaGibbs$fUnboxDeltaDekaGibbs!$fNumericalExtremesDeltaDekaGibbsEvalue getEvalue$fNFDataEvalue$fToJSONEvalue$fSerializeEvalue$fHashableEvalue$fFromJSONEvalue$fBinaryEvalue $fEqEvalue $fOrdEvalue $fReadEvalue $fShowEvalue $fNumEvalue$fGenericEvalueV_Evalue MV_Evalue$fNumericalExtremesEvalue$fDefaultEvalue$fVectorVectorEvalueD:R:VectorEvalue0$fMVectorMVectorEvalue $fUnboxEvalueBitscore getBitscore$fNFDataBitscore$fToJSONBitscore$fSerializeBitscore$fHashableBitscore$fFromJSONBitscore$fBinaryBitscore $fEqBitscore $fOrdBitscore$fReadBitscore$fShowBitscore $fNumBitscore$fFractionalBitscore$fGenericBitscore$fNumericalExtremesBitscore V_Bitscore MV_Bitscore prob2Score score2Prob$fDefaultBitscore$fVectorVectorBitscoreD:R:VectorBitscore0$fMVectorMVectorBitscore$fUnboxBitscoreSpeciesRfamPfamClanProtein Nucleotide Accession _getAccession accession' accessionretagAccessionguessAccessionType$fNFDataAccession$fToJSONAccession$fSerializeAccession$fHashableAccession$fFromJSONAccession$fBinaryAccession$fIsStringAccession $fEqAccession$fOrdAccession$fReadAccession$fShowAccession$fGenericAccessionClassificationKingdomPhylumClassOrderSubOrderFamilyGenusUnknown$fNFDataClassification$fToJSONClassification$fSerializeClassification$fHashableClassification$fFromJSONClassification$fBinaryClassification$fEqClassification$fOrdClassification$fReadClassification$fShowClassification$fEnumClassification$fGenericClassificationTaxonspeciesclassificationV_ClassificationMV_Classification$fHashableTaxon $fNFDataTaxon $fToJSONTaxon$fSerializeTaxon$fFromJSONTaxon $fBinaryTaxon$fVectorVectorClassificationD:R:VectorClassification0$fMVectorMVectorClassification$fUnboxClassification $fEqTaxon $fReadTaxon $fShowTaxon$fGenericTaxon&vector-0.11.0.0-6uB77qGCxR6GPLxI2sqsX3Data.Vector.Unboxed.BaseVectorMVectorghc-prim GHC.TypesIntbaseGHC.BaseJustNothing