!C܍      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p qrstuvwxyz{|}~     None!"#-.124567=>?@ADHMPSUVX_gk,  BiobaseTypes&Species have an accession number, too. BiobaseTypes<Tag as being an Rfam model. Used for Stockholm and CM files. BiobaseTypesTag as being a Pfam model. BiobaseTypesTag as being a clan. BiobaseTypesprotein sequence  BiobaseTypesnucleotide sequence  BiobaseTypes>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. BiobaseTypes5Generate an accession with an explicit phantom type: accession' Nucleotide Bla has type :: Accession Nucleotide. BiobaseTypes$Generate an accession when the type  Accession t is clear from the context. BiobaseTypesRetag an accession BiobaseTypes,Guess the type of accession number. Returns Nothing if unknown structure.    None!"#-.124567=>?@ADHMPSUVX_gk80 BiobaseTypesmBit 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).1 BiobaseTypesCGiven a null model and a probability, calculate the corresponding BitScore.TODO  x<=epsilon ?2 BiobaseTypesGiven a null model and a BitScore& return the corresponding probability.3 BiobaseTypes,A default bitscore of "-infinity", but with 10-1 wiggle room.5TODO Check out the different "defaults" Infernal uses  !12 !12None!"#-.124567=>?@ADHMPSUVX_gk:7 BiobaseTypesA single codon.#TODO needs to go into its own place7878None!"#-.124567=>?@ADHMPSUVX_gk?E BiobaseTypesGibbs 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?P BiobaseTypes Discretized DG. EFGPQREFGPQRNone!"#-.124567=>?@ADHMPSUVX_gkBj BiobaseTypesType-safe wrapper for e-values.| BiobaseTypesBy default, we expect no hits. jkljklNone!"#-.124567=>?@ADHMPSUVX_gkE BiobaseTypes A linear Int-based index type. BiobaseTypesTurn an ! into an  safely. BiobaseTypesProduce " and  or #. $%&'None!"#-.124567=>?@ADHMPSUVX_gkSl  BiobaseTypesOne-based indices. BiobaseTypesZero-based indices. BiobaseTypesUses  to guarantee that the  is ok. BiobaseTypesRe-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. BiobaseTypesHelper function that allows addition of an  and an ! , with the ! on the right. BiobaseTypesHelper function that allows  subtraction of an  and an ! , with the ! on the right. BiobaseTypes Unsafe plus. BiobaseTypesDelta between two  points. BiobaseTypesReturn the index as an Int -style index that is zero-based. BiobaseTypesAs an index from an Int-style zero-based one.1TODO We might want to check that the argument is [0..].None!"#-.124567=>?@ADHMPSUVX_gkX BiobaseTypesAdd Text and return Inte key. Will return key for existing string and thereby serves for lookup in left-to-right direction. BiobaseTypes Lookup the InternedMultiChar based on an Int" key. Unsafe totality assumption. None!"#-.124567=>?@ADHMPSUVX_gk] BiobaseTypes$A species name. Represented with an Int, but behaves like a Text. BiobaseTypes;The taxonomic rank. This encodes the name for a given rank. BiobaseTypes<Smart constructor that performs the correct internalization. () None!"#-.124567=>?@ADHMPSUVX_gka~ BiobaseTypesEncode strand information. < is defined as the strand encoded in, say, the FASTA file. ! hence is the reverse complement. $*+, None!"#-.124567=>?@ADHMPSUVX_gkjD BiobaseTypesThe Reading frame. Sequence indexing starts at position 1, which starts reading frame 1. Reading frame 2 and 3 start at position 2 and 3 respectively. BiobaseTypesConvert between  +1 ... +3 and  ReadingFrame. BiobaseTypesA lens for the strand BiobaseTypesqTODO should this be a type class, since we might reasonably want to construct from a number of possible indices? BiobaseTypespred and succ& are correct, if the input is a legal . None!"#-.124567=>?@ADHMPSUVX_gk|f  BiobaseTypesLocation information. BiobaseTypesOn which strand are we BiobaseTypesStart, 0-based BiobaseTypes%number of characters in this location BiobaseTypesNthe total length of the "contig" (or whatever) this location is positioned in. BiobaseTypesPDuring streaming construction, it is possible that we know a feature is on the -7 strand, but the length of the contig is not known yet. 0 1 2 012345678901234567890 >--- + 2 4 Location + 2 4 <--- Reversed 5 4 Location - 12 4 098765432109876543210 2 1 0  BiobaseTypes?Location, when it is not yet known how long the contig will be. BiobaseTypes)The reversed strand. However, we have an plEnd, not a plStart now! BiobaseTypes1An isomorphism between locations, and triples of Strand,Start,End, where end is inclusive. For  length==0 locations, this will mean  start<end on the plus strand.This should hold for all k, in Index k. BiobaseTypesBReversing a reversible location means moving the start to the end.           None!"#-.124567=>?@ADHMPSUVX_gkb; BiobaseTypes'Phantom-typed over two types, the type w/ of the identifier, which can be descriptive ( FirstInput) and the second type, identifying what kind of sequence types we are dealing with. Finally, the third type provides location information and should be location or streamed location.= BiobaseTypes;Identifier for this window. Typically some fasta identifier> BiobaseTypesAny prefix for this sequence? BiobaseTypesThe actual sequence, the infix@ BiobaseTypes any suffixC BiobaseTypes#TODO write that converts explicitlyY BiobaseTypes The complement of a biosequence.[ BiobaseTypes;Transcribes a DNA sequence into an RNA sequence. Note that ]c is actually very generic. We just define its semantics to be that of biomolecular transcription.]" makes the assumption that, given  DNA -> RNA%, we transcribe the coding strand. Ehttp://hyperphysics.phy-astr.gsu.edu/hbase/Organic/transcription.html@ DNAseq ACGT ^. transcribe == RNAseq ACGU RNAseq ACGU ^. transcribe == DNAseq ACGT RNAseq ACGU( ^. from transcribe :: DNAseq == DNAseq ACGT @c BiobaseTypesA lens into the full sequence information of a sequence window. One should *NOT* modify the length of the individual sequences.d BiobaseTypes,For each element, attach the prefix as well.1 2 3 4 ->  01 12 23 34e BiobaseTypes,For each element, attach the suffix as well.1 2 3 4 ->  12 23 34 40f BiobaseTypesSimple case translation from U to T'. with upper and lower-case awareness.g BiobaseTypes Single character RNA complement.h BiobaseTypesSimple case translation from T to U' with upper- and lower-case awareness.i BiobaseTypes Single character DNA complement.l BiobaseTypes>Transcribe a RNA sequence into an DNA sequence. This does not reverse the sequence!m BiobaseTypes>Transcribe a DNA sequence into an RNA sequence. This does not reverse the sequence!)()*+,-./;<A@?>=BCDEFYZ[]\^_`abcdefghij)/.-,+()*BCDEF;<A@?>=ba`_^cdefghi[]\YZjNone!"#-.124567=>?@ADHMPSUVX_gkq BiobaseTypesSecondary structure using () for paired elements, and ., for unpaired ones. It is assumed that the ()* match up. These structures from a Monoid.| BiobaseTypesEnsemble structure encoding. *Very* different type ctor name chosen! The structure of this string makes verification much more complicated.?TODO describe encoding used by RNAfold for the ensemble string. BiobaseTypesCofolded structure. BiobaseTypes?The set of nucleotide pairs, together with the sequence length. BiobaseTypesthe set of nucleotide pairs. BiobaseTypes-length of the underlying nucleotide sequence. BiobaseTypes+Capture what might be wrong with the RNAss. BiobaseTypes-A Prism that turns ByteStrings with a single & into RNAds. BiobaseTypesIsomorphism from RNAds to  (RNAss,RNAss). The RNAss are only legal if taken both: rnassFromDimer . both. BiobaseTypes"Try to create a dimeric structure. BiobaseTypesJVerifies that the given RNAss is properly formatted. Otherwise, error out.TODO Implement! Check with BiobaseXNA and the stack effort in there. This might influence if the verification goes into BiobaseXNA and happens via an Iso'. BiobaseTypes Transform an q into a set of base pairs (i,j). The pairs are 0-based. BiobaseTypesNGenereate a simple structured/paired forest from a secondary structure string. BiobaseTypesXCompactify such an SPForest. This means that all stems are now represented by a single - data constructor. BiobaseTypes/RNA pair set, but a transformation error calls error. BiobaseTypes{Calculates the number of different base pairs between two structures. This ignores the length of the underlying sequences."qrs|}~"qrs|}~None!"#-.124567=>?@ADHMPSUVX_gkɝ  BiobaseTypes'The type of RNA shapes. Keeps the type  BiobaseTypesThe type of shape encoded here. BiobaseTypesThe actual shape as a string. BiobaseTypes<Shape levels are hardcoded according to their specification.7TODO Allow compile-time check on accepted shape levels? BiobaseTypesEWrapper for string-positional shapes. Intentionally chosen long name. BiobaseTypesGiven a compactified .,, creates a shape forest of the given level.TODO needs newtyping BiobaseTypesturn into unit test. also reverse of the input should give reverse shape! this then gives a quickcheck test, reversing the input should reverse the shape2TODO requires generating secondary structures via  Arbitrary. BiobaseTypes BiobaseTypes Transform an RNAss into a set of base pairs (i,j). The pairs are 0-based. BiobaseTypes/RNA pair set, but a transformation error calls error. BiobaseTypesECalculates the number of different base pairs betwwen two structures.(TODO error out on different shape levelsNone!"#-.124567=>?@ADHMPSUVX_gkJ BiobaseTypesTaxonomic classification. Enum together with a final Unknown is somewhat fishy.FTODO What should the order be? Kingdom > Species or Kingdom < Species? BiobaseTypesKA somewhat generic representation of a species within a taxonomic context. BiobaseTypes"the full, formal name of a species BiobaseTypes"the accession for the species (or "" if unknown) BiobaseTypes&vector with classification information/0None!"#-.124567=>?@ADHMPSUVX_gkNone!"#-.124567=>?@ADHMPSUVX_gk)  BiobaseTypes A single  Backtraced0 column. Since such a column will be part of a "Backtraced (Z:.BtCodon c aa:. ...)R structure, it is always possible to extend even further, by having more entries.  BiobaseTypesHA canonical match. A codon and the translated amino acid need to be set.  BiobaseTypes`A frameshifting match. The vector of frameshifted nucleotides will have a number of characters c&, that encode for a single amino acid.        1 !"#$%&'()*++,-./0123456789:;<=>?@ABBCDEFGHIJKLMNOOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrrstuvwxyz{|}~                                                  ! " # $ % & & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k lmmnopqrstuvwxyz{|}~        ! " # $ % &'()'(*+,-+BiobaseTypes-0.2.0.1-B9coIbijR6NEFcCxvqIOZpBiobase.Types.AccessionBiobase.Types.BitscoreBiobase.Types.CodonBiobase.Types.EnergyBiobase.Types.EvalueBiobase.Types.Index.TypeBiobase.Types.IndexBiobase.Types.Names.InternalBiobase.Types.NamesBiobase.Types.StrandBiobase.Types.ReadingFrameBiobase.Types.LocationBiobase.Types.BioSequenceBiobase.Types.StructureBiobase.Types.ShapeBiobase.Types.TaxonomyDP.Backtraced.CodonDP.Backtraced.BioSequenceSpeciesRfamPfamClanProtein Nucleotide Accession _getAccession accession' accessionretagAccessionguessAccessionType$fNFDataAccession$fToJSONAccession$fSerializeAccession$fHashableAccession$fFromJSONAccession$fBinaryAccession$fIsStringAccession $fEqAccession$fOrdAccession$fReadAccession$fShowAccession$fGenericAccessionBitscore getBitscore$fNFDataBitscore$fToJSONBitscore$fSerializeBitscore$fHashableBitscore$fFromJSONBitscore$fBinaryBitscore$fSemiringBitscore $fEqBitscore $fOrdBitscore$fReadBitscore$fShowBitscore $fNumBitscore$fFractionalBitscore$fGenericBitscore$fNumericLimitsBitscore prob2Score score2Prob$fDefaultBitscore$fVectorVectorBitscore$fMVectorMVectorBitscore$fUnboxBitscoreCodon$fEachCodonCodoncc'$fField3CodonCodoncc$fField2CodonCodoncc$fField1CodonCodoncc $fEqCodon $fOrdCodon $fReadCodon $fShowCodon$fGenericCodon$fFunctorCodon$fFoldableCodon$fTraversableCodonDGdG$fEqDG$fOrdDG$fNumDG$fFractionalDG$fReadDG$fShowDG $fGenericDG$fDataDGDDGdDG $fDefaultDG $fNFDataDG $fToJSONDG $fFromJSONDG $fSerializeDG $fBinaryDG $fHashableDG$fVectorVectorDG$fMVectorMVectorDG $fUnboxDG$fEqDDG$fOrdDDG$fNumDDG $fReadDDG $fShowDDG $fGenericDDG $fRealDDG $fEnumDDG$fNumericEpsilonDG$fNumericLimitsDG$fVectorVectorDDG$fMVectorMVectorDDG $fUnboxDDGEvalue getEvalue $fEqEvalue $fOrdEvalue $fReadEvalue $fShowEvalue $fNumEvalue$fGenericEvalue$fNFDataEvalue$fToJSONEvalue$fSerializeEvalue$fHashableEvalue$fFromJSONEvalue$fBinaryEvalue$fWrappedEvalue$fRewrappedEvaluet$fNumericLimitsEvalue$fDefaultEvalue$fVectorVectorEvalue$fMVectorMVectorEvalue $fUnboxEvalueIndexgetIndexindex maybeIndex$fHashableIndex$fFromJSONIndex $fToJSONIndex$fSerializeIndex $fBinaryIndex $fNFDataIndex $fNumIndex $fShowIndex $fReadIndex $fEqIndex $fOrdIndex$fGenericIndex $fIxIndex $fDataIndex$fArbitraryIndex$fIndexStreamIndex$fIndexStream:. $fIndexIndex$fVectorVectorIndex$fMVectorMVectorIndex $fUnboxIndexI1I0 checkIndexreIndex+.-. unsafePlusdeltatoInttoInt0fromInt0speciesNameBimapspeciesNameBimapAddspeciesNameBimapLookupInt SpeciesNamegetSpeciesNameRep$fEqSpeciesName$fGenericSpeciesName TaxonomicRankgetTaxonomicRank speciesName$fToJSONSpeciesName$fFromJSONSpeciesName$fSerializeSpeciesName$fBinarySpeciesName$fNFDataSpeciesName#$fConvertibleStringsSpeciesNameText#$fConvertibleStringsTextSpeciesName$fHashableSpeciesName$fReadSpeciesName$fShowSpeciesName$fIsStringSpeciesName$fOrdSpeciesName$fVectorVectorSpeciesName$fMVectorMVectorSpeciesName$fUnboxSpeciesName$fToJSONTaxonomicRank$fFromJSONTaxonomicRank$fSerializeTaxonomicRank$fBinaryTaxonomicRank$fReadTaxonomicRank$fHashableTaxonomicRank%$fConvertibleStringsTaxonomicRankText%$fConvertibleStringsTextTaxonomicRank$fNFDataTaxonomicRank$fIsStringTaxonomicRank$fEqTaxonomicRank$fOrdTaxonomicRank$fShowTaxonomicRank$fGenericTaxonomicRankStrand getStrand UnknownStrand NotStranded MinusStrand PlusStrand$fNFDataStrand$fHashableStrand$fFromJSONStrand$fToJSONStrand$fSerializeStrand$fBinaryStrand$fReversingStrand $fEnumStrand$fBoundedStrand $fReadStrand $fShowStrand $fEqStrand $fOrdStrand$fGenericStrand $fDataStrand$fArbitraryStrand $fIndexStrand$fVectorVectorStrand$fMVectorMVectorStrand $fUnboxStrand ReadingFramegetReadingFrame$fEqReadingFrame$fOrdReadingFrame$fGenericReadingFrame$fShowReadingFramerfstrandRF fromIndex$fEnumReadingFrame$fWrappedReadingFrame$fRewrappedReadingFrametLocation_lStrand_lStart_lLength _lTotalLength $fEqLocation $fOrdLocation$fReadLocation$fShowLocation$fGenericLocationlLengthlStartlStrand lTotalLengthPartialLocationReversedPartialLocation _plStrand_plStart _plLength_plEnd _LocationstartEndInclusive$fReversingLocation$fEqPartialLocation$fOrdPartialLocation$fReadPartialLocation$fShowPartialLocation$fGenericPartialLocationplEndplLengthplStartplStrand_PartialLocation_ReversedPartialLocationlocationPartial$fReversingPartialLocationSequenceIdentifier_sequenceIdentifier$fDataSequenceIdentifier$fGenericSequenceIdentifier$fEqSequenceIdentifier$fOrdSequenceIdentifier$fReadSequenceIdentifier$fShowSequenceIdentifier$fWrappedSequenceIdentifier$fRewrappedSequenceIdentifiert BioSequence _bioSequenceAAXNADNARNA_SequenceIdentifier$fIsStringSequenceIdentifier$fNFDataSequenceIdentifier$fDataBioSequence$fGenericBioSequence$fEqBioSequence$fOrdBioSequence$fReadBioSequence$fShowBioSequence$fSemigroupBioSequence$fWrappedBioSequence$fRewrappedBioSequencetBioSequenceWindow_bswIdentifier _bswPrefix _bswSequence _bswSuffix _bswLocation _BioSequencemkRNAseqmkDNAseqmkXNAseqmkAAseq$fArbitraryBioSequence$fIsStringBioSequence$fArbitraryBioSequence0$fIsStringBioSequence0$fArbitraryBioSequence1$fIsStringBioSequence1$fArbitraryBioSequence2$fIsStringBioSequence2$fIsStringBioSequence3$fIxedBioSequence$fNFDataBioSequence$fDataBioSequenceWindow$fGenericBioSequenceWindow$fEqBioSequenceWindow$fOrdBioSequenceWindow$fReadBioSequenceWindow$fShowBioSequenceWindow$fReversingBioSequence Complement complement Transcribe TranscribeTo transcribe bswIdentifier bswLocation bswPrefix bswSequence bswSuffixbswFullSequenceattachPrefixesattachSuffixesrna2dna rnaComplementdna2rna dnaComplementreverseComplement$fReversingBioSequenceWindow$fTranscribeBioSequence$fTranscribeBioSequence0$fComplementBioSequenceWindow$fComplementBioSequence$fComplementBioSequence0RNAss_rnass $fEqRNAss $fOrdRNAss $fShowRNAss $fReadRNAss $fDataRNAss$fGenericRNAss$fSemigroupRNAss $fMonoidRNAssRNAensembleStructureRNAes_rnaesrnass $fNFDataRNAss$fEqRNAensembleStructure$fOrdRNAensembleStructure$fShowRNAensembleStructure$fReadRNAensembleStructure$fDataRNAensembleStructure$fGenericRNAensembleStructureRNAds_rnadsL_rnadsRrnaes$fNFDataRNAensembleStructure $fEqRNAds $fOrdRNAds $fShowRNAds $fReadRNAds $fDataRNAds$fGenericRNAdsRNApset_rnapset _rnapsetSLenRNAStructureError_rnaStructureError _rnaOffenderrnadsLrnadsRrnadsrnads2rnassPairmkRNAds verifyRNAss $fNFDataRNAds$fNFDataRNAStructureError$fShowRNAStructureError$fGenericRNAStructureError $fReadRNApset $fShowRNApset $fEqRNApset $fOrdRNApset$fGenericRNApsetrnapset rnapsetSLen rnassPairSet rnassSPForestcompactifySPForest rnassPairSet' rnapsetRNAsspairDist$fArbitraryRNAss$fArbitraryRNApset$fNFDataRNApsetRNAshape_rnashapelevel _rnashape ShapeLevelSL1SL2SL3SL4SL5$fNFDataShapeLevel$fEqShapeLevel$fOrdShapeLevel$fShowShapeLevel$fReadShapeLevel$fDataShapeLevel$fGenericShapeLevel $fEqRNAshape $fOrdRNAshape$fShowRNAshape$fReadRNAshape$fDataRNAshape$fGenericRNAshape RNAshapepset_rnashapepsetlevel _rnashapepsetrnashape rnashapelevel shapeForest rnass2shapetestshapeForestshape generateShape$fNFDataRNAshape$fReadRNAshapepset$fShowRNAshapepset$fEqRNAshapepset$fOrdRNAshapepset$fGenericRNAshapepset rnashapepsetrnashapepsetlevelrnashapePairSet shapePairDist$fNFDataRNAshapepsetClassificationKingdomPhylumClassOrderSubOrderFamilyGenusUnknown$fNFDataClassification$fToJSONClassification$fSerializeClassification$fHashableClassification$fFromJSONClassification$fBinaryClassification$fEqClassification$fOrdClassification$fReadClassification$fShowClassification$fEnumClassification$fGenericClassificationTaxonspeciesclassification$fVectorVectorClassification$fMVectorMVectorClassification$fUnboxClassification$fHashableTaxon $fNFDataTaxon $fToJSONTaxon$fSerializeTaxon$fFromJSONTaxon $fBinaryTaxon $fEqTaxon $fReadTaxon $fShowTaxon$fGenericTaxonBtCodonMatch FrameshiftInsertShiftedRegionDelete_codon_aa _frameshift_region _annotation&vector-0.12.0.3-ChzWbiXyvuNAQj0dcU08SgData.Vector.Unboxed.BaseMVector MV_BitscoreVector V_BitscoreMV_DGMV_DDGV_DGV_DDG MV_EvalueV_Evalueghc-prim GHC.TypesIntbase GHC.MaybeJustNothing,PrimitiveArray-0.9.1.1-WIJKoCzZdtCQ9jbxB6ir7Data.PrimitiveArray.Index.Class LimitTypeLtIndexMV_IndexV_IndexMV_SpeciesName V_SpeciesNameLtStrand MV_StrandV_Strand/ForestStructures-0.0.1.0-EK52jImnfoWFOGdO0mnBLzData.Forest.StructuredPairedSPTSPForestMV_ClassificationV_Classification