h$OB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                None$ #$&./235678<>?  BiobaseTypes&Species have an accession number, too. BiobaseTypesThe 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.A 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$ #$&./235678<>? BiobaseTypesBit 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 BiobaseTypesGiven 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$ #$&./235678<>?7 BiobaseTypesA single codon.#TODO needs to go into its own place7878None$ #$&./235678<>?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. EFGPQRSEFGPQRSNone$ #$&./235678<>?l BiobaseTypesType-safe wrapper for e-values.~ BiobaseTypesBy default, we expect no hits.lmnlmnNone$ #$&./235678<>? BiobaseTypes A linear Int-based index type. BiobaseTypesTurn an  into an  safely. BiobaseTypesProduce  and  or . None$ #$&./235678<>?P  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. BiobaseTypesReturn the index as an Int-style index that is one-based. BiobaseTypesAs an index from an Int-style zero-based one.1TODO We might want to check that the argument is [0..].None$ #$&./235678<>? BiobaseTypesAdd Text and return Int 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$ #$&./235678<>?O 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?^ BiobaseTypesEncode strand information. < is defined as the strand encoded in, say, the FASTA file. ! hence is the reverse complement.  None$ #$&./235678<>?  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 BiobaseTypesTODO 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$ #$&./235678<>?# BiobaseTypesDuring streaming construction, it is possible that we know a feature is on the - strand, but the length of the contig is not known yet. In that case,  allows expressing the hit in the coordinate system of the plus strand. Tools like blast do something similar, and express locations on the minus as y-x with y>x. &0123456789 >--> <--< 9876543210  BiobaseTypesPlus-based location. BiobaseTypesStrand we are on BiobaseTypes#Start of the hit on the plus strand BiobaseTypesReversing a reversible location means moving the start to the end. None$ #$&./235678<>?)%  BiobaseTypesTODO provide extended annotation information on biosequences, too! BiobaseTypes The complement of a biosequence. BiobaseTypes;Transcribes a DNA sequence into an RNA sequence. Note that  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. http://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 @ BiobaseTypes#TODO write that converts explicitly BiobaseTypesSimple case translation from U to T'. with upper and lower-case awareness. BiobaseTypes Single character RNA complement. BiobaseTypesSimple case translation from T to U' with upper- and lower-case awareness. BiobaseTypes Single character DNA complement. BiobaseTypes>Transcribe a RNA sequence into an DNA sequence. This does not reverse the sequence! BiobaseTypes>Transcribe a DNA sequence into an RNA sequence. This does not reverse the sequence!None$ #$&./235678<>?0  BiobaseTypesOperations on locations. BiobaseTypesAppend to the left. BiobaseTypesAppend to the right. BiobaseTypesSplit a location. BiobaseTypesLength of location BiobaseTypesWill extract a substring for a given biosequence. It is allowed to hand in partially or not at all overlapping locational information. This will yield empty resulting locations.This will convert the  FwdPosition strand, which in turn allows dealing with reverse-complement searches. 0123456789 3.3  BiobaseTypesGiven a PIS, this will return the  substring indicated by the location in the 2nd argument. Allows for easy substring extraction, and retains the system of prefixinfixsuffix.It is allowed to hand locations that only partially (or not at all) correspond to the PIS, but then the resulting PIS will be empty! BiobaseTypesGiven a Location with a  BioSequence', replace the sequence with its length. BiobaseTypesProvides a range in a notation as used by blast, for example. This isomorphism can translate back as well. 4FwdLocation - 8 4 ^. blastRange1 == 9 6 MinusStrand<, since these ranges are 1-based and start and end included. BiobaseTypes1For each element, attach the prefix as well. The Int0 indicates the maximal prefix length to attach.1 2 3 4 ->  01 12 23 34%TODO are we sure this is correct for  MinusStrand? BiobaseTypes,For each element, attach the suffix as well.1 2 3 4 ->  12 23 34 40$$None$ #$&./235678<>?8 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. BiobaseTypesVerifies 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  into a set of base pairs (i,j). The pairs are 0-based. BiobaseTypesGenereate a simple structured/paired forest from a secondary structure string. BiobaseTypesCompactify 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. BiobaseTypesCalculates the number of different base pairs between two structures. This ignores the length of the underlying sequences.""None$ #$&./235678<>?=2  BiobaseTypes'The type of RNA shapes. Keeps the type  BiobaseTypesThe type of shape encoded here. BiobaseTypesThe actual shape as a string. BiobaseTypes?? BiobaseTypesTaxonomic classification. Enum together with a final Unknown is somewhat fishy.TODO What should the order be? Kingdom > Species or Kingdom < Species? BiobaseTypesA 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 informationNone$ #$&./235678<>?@TNone$ #$&./235678<>?B} BiobaseTypes A single  Backtraced0 column. Since such a column will be part of a "Backtraced (Z:.BtCodon c aa:. ...) structure, it is always possible to extend even further, by having more entries. BiobaseTypesA canonical match. A codon and the translated amino acid need to be set. BiobaseTypesA frameshifting match. The vector of frameshifted nucleotides will have a number of characters c&, that encode for a single amino acid.   !"#$%&'()*+,,-./0123456789:;<=>?@ABCCDEFGHIJKLMNOPPQRSTUVWXYZZ[\]^_`abcdefghijklmnopqrstuuvwxyz{|}~                                                                                                                                                                     +BiobaseTypes-0.2.1.0-KNWEaQoA0aY419BnftjfF1Biobase.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.PositionBiobase.Types.BioSequenceBiobase.Types.LocationBiobase.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$fGenericBitscore $fNumBitscore$fFractionalBitscore$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$fDataDGDDGdDGddg2Int $fDefaultDG $fNFDataDG $fToJSONDG $fFromJSONDG $fSerializeDG $fBinaryDG $fHashableDG$fVectorVectorDG$fMVectorMVectorDG $fUnboxDG $fShowDDG$fEqDDG$fOrdDDG$fNumDDG $fReadDDG $fGenericDDG $fRealDDG $fEnumDDG$fNumericEpsilonDG$fNumericLimitsDG $fSemiringDDG$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+.-. unsafePlusdeltatoInttoInt0toInt1fromInt1fromInt0speciesNameBimapspeciesNameBimapAddspeciesNameBimapLookupInt 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$fRewrappedReadingFramet FwdPosition _fwdStrand _fwdStart$fEqFwdPosition$fOrdFwdPosition$fReadFwdPosition$fShowFwdPosition$fDataFwdPosition$fGenericFwdPositionfwdStart fwdStrand _FwdPosition$fReversingFwdPosition$fInfoFwdPosition$fNFDataFwdPositionSequenceIdentifier_sequenceIdentifier$fDataSequenceIdentifier$fGenericSequenceIdentifier$fEqSequenceIdentifier$fOrdSequenceIdentifier$fReadSequenceIdentifier$fShowSequenceIdentifier$fWrappedSequenceIdentifier$fRewrappedSequenceIdentifiert BioSequence _bioSequenceAAXNADNARNA_SequenceIdentifier$fIsStringSequenceIdentifier$fNFDataSequenceIdentifier$fDataBioSequence$fGenericBioSequence$fEqBioSequence$fOrdBioSequence$fReadBioSequence$fShowBioSequence$fSemigroupBioSequence$fWrappedBioSequence$fRewrappedBioSequencet _BioSequence Complement complement Transcribe TranscribeTo transcribe bioSequencemkRNAseqshrinkBioSequencemkDNAseqmkXNAseqmkAAseqrna2dna rnaComplementdna2rna dnaComplementreverseComplement$fArbitraryBioSequence$fIsStringBioSequence$fArbitraryBioSequence0$fIsStringBioSequence0$fArbitraryBioSequence1$fIsStringBioSequence1$fArbitraryBioSequence2$fIsStringBioSequence2$fInfoBioSequence$fIsStringBioSequence3$fIxedBioSequence$fNFDataBioSequence$fHashableBioSequence$fTranscribeBioSequence$fTranscribeBioSequence0$fComplementBioSequence$fComplementBioSequence0$fReversingBioSequenceLocation_locIdentifier _locPosition _locSequenceModifyLocation locAppendLeftlocAppendRight locSplitAt locLengthlocTake locTakeEndlocDrop locDropEnd locSplitEndAt$fShowLocation$fDataLocation$fGenericLocationPIS _pisPrefix _pisInfix _pisSuffix locIdentifier locPosition locSequence retagLocation subLocation$fInfoLocation$fComplementLocation$fReversingLocation$fModifyLocationFwdPositionInt&$fModifyLocationFwdPositionBioSequence$fNFDataLocation $fShowPIS $fDataPISpisInfix pisPrefix pisSuffixpisretagPissubPisLocation pisSequence locAsLength blastRange1attachPrefixesattachSuffixes$fComplementPIS$fReversingPISRNAss_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 $fReadRNApset $fShowRNApset $fEqRNApset $fOrdRNApset$fGenericRNApset$fShowRNAStructureError$fGenericRNAStructureErrorrnapset rnapsetSLen rnassPairSet rnassSPForestcompactifySPForest rnassPairSet' rnapsetRNAsspairDist$fArbitraryRNAss$fArbitraryRNApset$fNFDataRNApsetRNAshape_rnashapelevel _rnashape ShapeLevelSL1SL2SL3SL4SL5$fNFDataShapeLevel $fEqRNAshape $fOrdRNAshape$fShowRNAshape$fReadRNAshape$fDataRNAshape$fGenericRNAshape$fEqShapeLevel$fOrdShapeLevel$fShowShapeLevel$fReadShapeLevel$fDataShapeLevel$fGenericShapeLevel 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.3.0-Iq8W8y7X87B1xSQfAcXis3Data.Vector.Unboxed.BaseMVector MV_BitscoreVector V_BitscoreMV_DGMV_DDGV_DGV_DDG MV_EvalueV_Evalueghc-prim GHC.TypesIntbase GHC.MaybeJustNothing.PrimitiveArray-0.10.1.1-FHg9n6QRwG947627Wq9cn2Data.PrimitiveArray.Index.Class LimitTypeLtIndexMV_IndexV_IndexMV_SpeciesName V_SpeciesNameLtStrand MV_StrandV_Strand/ForestStructures-0.0.1.0-Gt6Axi7SFtH9iAZu8cecvDData.Forest.StructuredPairedSPTSPForestMV_ClassificationV_Classification