!wh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgCharacter interface(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonem elynx-seq7IUPAC characters with a mapping to extended characters. elynx-seq2An extended character type with gaps and unknowns. elynx-seqA set of characters forms an . At the moment, hD is used, since none of the alphabets has more than 255 characters. elynx-seqWrite characters. elynx-seqRead characters.  elynx-seqConversion to i.  elynx-seqConversion from i.  elynx-seqConversion to j.  elynx-seqConversion from j.  elynx-seq"Is the character a gap or unknown? elynx-seqCheck if a IUPAC & is unknown (e.g., N for nucleotides). elynx-seq)Is the given character a IUPAC character? elynx-seq,Is the given character a standard character? elynx-seq3Convert between character classes. May throw error.   &Amino acid related types and functions(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHV" elynx-seq Amino acids.!" #$%&'!" #$%&'&Amino acid related types and functions(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHV&+3 elynx-seq Amino acids.3=B65CAD;7@HE>?489:<FGI3=B65CAD;7@HE>?489:<FGI&Amino acid related types and functions(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHV)U elynx-seq Amino acids.U_dXWecf]Ybng`aVZ[\^hiojklmU_dXWecf]Ybng`aVZ[\^hiojklm&Amino acid related types and functions(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHV-9| elynx-seq Amino acids.|~}|~}Alphabet characters(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHV50  elynx-seqUAlphabet characters; abstracted so that representation can be changed at some point. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. elynx-seqConversion of s. &Alphabets store hereditary information(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone7A elynx-seqAlphabet specification. k* is used because it provides fast lookups. elynx-seqStandard characters. elynx-seqGap characters. elynx-seqUnknown characters. elynx-seqOther IUPAC codes. elynx-seqAll characters in the alphabet. elynx-seq<Convert from IUPAC to the corresponding standard characters. elynx-seq%Available alphabets; for details see . elynx-seqVerbose alphabet name. elynx-seq4Get the alphabet specification for a given alphabet. elynx-seqTest if standard character. elynx-seq Test if gap. elynx-seqTest if unknown. elynx-seq?Test if extended IUPAC character (excluding gaps and unknowns). elynx-seqTest if member of alphabet."Summarize statistics for alphabets(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone>P" elynx-seqEntropy of vector. elynx-seq3Effective number of used characters measured using @. The result only makes sense when the sum of the array is 1.0. elynx-seqProbability of homoplasy of vector. The result is the probability of binomially sampling the same character twice and only makes sense when the sum of the array is 1.0. elynx-seq3Effective number of used characters measured using @. The result only makes sense when the sum of the array is 1.0. elynx-seqFor a given code vector of characters, calculate frequency of characters. The input vector has arbitrary length (most often the number of sequences in an alignment), the length of the output vector is the number of characters in the alphabet.  Nucleotides(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHVR elynx-seq Nucleotides. !Nucleotides with IUPAC characters(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHVUt elynx-seq NucleotideIs. 0Extended nucleotides including gaps and unknowns(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone@AHVY elynx-seqExtended nucleotides. "Codons are triplets of nucleotides(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone7gp elynx-seqUniversal codes. elynx-seq"Codons are triplets of characters. elynx-seq{Unsafe conversion from vector with at least three elements; only the first three elements are used, the rest is discarded. elynx-seq=Translate a codon to amino acids including translation stops. elynx-seqTranslate a codon to amino acids including translation stops. Translate codons including gaps to amino acid gaps. Be careful, single or two character gaps can lead to a reading frame shift and hence, the translated sequence may be bogus. elynx-seqTranslate a codon to amino acids including translation stops. Translate gap triplets to amino acid gaps, and triplets including unknowns to amino acid unknowns. Be careful, also translates other IUPAC characters to amino acid Xs!   Various default values(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableSafel% elynx-seq5Space reserved for sequence names when printing them.& elynx-seq,The length shown when summarizing sequences.' elynx-seq(How many sequences are shown in summary.( elynx-seqField width for tables.%&'(%&'(Hereditary sequences(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonev) elynx-seqYSequences have a name, a possibly empty description, a code and hopefully a lot of data./ elynx-seq'The vector of characters of a sequence.0 elynx-seqThe description of a sequence.1 elynx-seq For now, 1 s are just ls.2 elynx-seq+Convert byte string to sequence characters.3 elynx-seq+Convert sequence characters to byte string.4 elynx-seqTrim and show a ).5 elynx-seqTrim and show a list of )s.m elynx-seqHeader printed before ) list.6 elynx-seq$A short description of the sequence.7 elynx-seqTrim and show a list of )s.8 elynx-seqCalculate length of ).9 elynx-seq Check if all )s have equal length.: elynx-seqFind the longest ) in a list.n elynx-seq7Count number of gaps or unknown characters in sequence.; elynx-seqTrim to given length.< elynx-seqConcatenate two sequences. 1s have to match.= elynx-seq%Concatenate a list of sequences, see <.> elynx-seq Only take )'s that are shorter than a given number.? elynx-seq Only take )&s that are longer than a given number.@ elynx-seq Only take )/s that contain at least on non-IUPAC character.)*+,-./0123456789:;<=>?@10/)*+,-.23645789:;<=>?@$Distance functions between sequences(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone=C elynx-seq/Compute hamming distance between two sequences.CC4Multi sequence alignment related types and functions(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone0D elynx-seqbFrequency data; do not store the actual characters, but their frequencies. The matrix is of size N x K, where N is the number of sites, and K is the number of characters.E elynx-seqA collection of sequences.K elynx-seqNumber of sites.L elynx-seqNumber of sequences.M elynx-seqCreate E from a list of )s.N elynx-seqConversion to list of )s.O elynx-seq Similar to  but with different Header.P elynx-seq Join two EEs vertically. That is, add more sequences to an alignment. See also Q.Q elynx-seqConcatenate two ECs horizontally. That is, add more sites to an alignment. See also P.R elynx-seqConcatenate a list of Es horizontally. See Q.S elynx-seqOnly keep constant columns.T elynx-seqOnly keep constant columns, and constant columns with at least one standard character as well as any number of gaps or unknowns.U elynx-seqaOnly keep columns with standard characters. Alignment columns with IUPAC characters are removed.V elynx-seqNFilter columns with proportion of standard character larger than given number.W elynx-seq5Only keep columns without gaps or unknown characters.X elynx-seqNCalculcate frequency of characters at each site of a multi sequence alignment.Y elynx-seq)Calculate the distribution of characters.Z elynx-seqDiversity analysis. See Z.[ elynx-seqDiversity analysis. See Z.\ elynx-seqUCount the number of standard (i.e., not extended IUPAC) characters in the alignment.] elynx-seq*Count the number of gaps in the alignment.^ elynx-seq8Count the number of unknown characters in the alignment._ elynx-seq7Sample the given sites from a multi sequence alignment.` elynx-seqHRandomly sample a given number of sites of the multi sequence alignment.DEFJIGHKLMNOPQRSTUVWXYZ[\]^_`EFJIGHKLMNOPQRSTUVWDYXZ[\]^_`Translate sequences(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonec elynx-seqTranslate a sequence from  or  to .ccExport Fasta sequences(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoned elynx-seq Convert a ) to Fasta format.e elynx-seqConvert a list )7s to Fasta format. A newline is added between any two )s.dedeImport Fasta sequences(c) Dominik Schrempf 2018GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonef elynx-seqParse a sequence of characters.g elynx-seqParse a Fasta file with given .fgfgSafeRopqrstuvw !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK,-./0123456789:;<=>L?MNOPQRSTUVWX,-./0123456789:;<=>YZ[\L?]^_`abcdefghi,-./0123456789:;<=>jklmnopqrs !"#$%tuvwxyz{|}~~&'(  , - 1 ;  , - 1 ;  =  6 4 : > Z . 2 < 7 ?  , - 1 ; ?            !"#$%&'&elynx-seq-0.4.0-AmPhTvywfMzEaqQqUfVSl5ELynx.Data.Character.CharacterELynx.Data.Character.AminoAcidXELynx.Data.Character.AminoAcidSELynx.Data.Character.AminoAcidIELynx.Data.Character.AminoAcidELynx.Data.Alphabet.CharacterELynx.Data.Alphabet.Alphabet)ELynx.Data.Alphabet.DistributionDiversityELynx.Data.Character.Nucleotide ELynx.Data.Character.NucleotideI ELynx.Data.Character.NucleotideXELynx.Data.Character.CodonELynx.Data.Sequence.DefaultsELynx.Data.Sequence.SequenceELynx.Data.Sequence.DistanceELynx.Data.Sequence.AlignmentELynx.Data.Sequence.TranslateELynx.Export.Sequence.FastaELynx.Import.Sequence.FastaELynx.Data.AlphabetAlphabetSsummarizeSequenceListPaths_elynx_seq CharacterIunknowniupac toStandard CharacterXgap CharactertoWordfromWordtoCharfromChartoString fromStringisGap isUnknownisIUPAC isStandardconvert AminoAcidXACDEFGHIKLMNPQRTVWYGap$fShowAminoAcidX$fReadAminoAcidX$fEqAminoAcidX$fOrdAminoAcidX$fEnumAminoAcidX$fBoundedAminoAcidX$fCharacterXAminoAcidX$fCharacterAminoAcidX$fVectorVectorAminoAcidX$fMVectorMVectorAminoAcidX$fUnboxAminoAcidX AminoAcidSStop$fShowAminoAcidS$fReadAminoAcidS$fEqAminoAcidS$fOrdAminoAcidS$fEnumAminoAcidS$fBoundedAminoAcidS$fCharacterXAminoAcidS$fCharacterAminoAcidS$fVectorVectorAminoAcidS$fMVectorMVectorAminoAcidS$fUnboxAminoAcidS AminoAcidIJBZX$fShowAminoAcidI$fReadAminoAcidI$fEqAminoAcidI$fOrdAminoAcidI$fEnumAminoAcidI$fBoundedAminoAcidI$fCharacterIAminoAcidI$fCharacterXAminoAcidI$fCharacterAminoAcidI$fVectorVectorAminoAcidI$fMVectorMVectorAminoAcidI$fUnboxAminoAcidI AminoAcid$fShowAminoAcid$fReadAminoAcid $fEqAminoAcid$fOrdAminoAcid$fEnumAminoAcid$fBoundedAminoAcid$fCharacterAminoAcid$fVectorVectorAminoAcid$fMVectorMVectorAminoAcid$fUnboxAminoAcidtoCVecfromCVec$fReadCharacter$fShowCharacter $fEqCharacter$fOrdCharacter$fBoundedCharacter$fVectorVectorCharacter$fMVectorMVectorCharacter$fUnboxCharacter AlphabetSpecstdalltoStdDNADNAXDNAIProteinProteinXProteinSProteinIalphabetDescription alphabetSpecisStdisMember$fToJSONAlphabet$fFromJSONAlphabet$fShowAlphabet$fReadAlphabet $fEqAlphabet $fOrdAlphabet$fEnumAlphabet$fBoundedAlphabet$fGenericAlphabetentropy kEffEntropy homoplasy kEffHomoplasyfrequencyCharacters Nucleotide$fShowNucleotide$fReadNucleotide$fEqNucleotide$fOrdNucleotide$fEnumNucleotide$fBoundedNucleotide$fCharacterNucleotide$fVectorVectorNucleotide$fMVectorMVectorNucleotide$fUnboxNucleotide NucleotideIU$fShowNucleotideI$fReadNucleotideI$fEqNucleotideI$fOrdNucleotideI$fEnumNucleotideI$fBoundedNucleotideI$fCharacterINucleotideI$fCharacterXNucleotideI$fCharacterNucleotideI$fVectorVectorNucleotideI$fMVectorMVectorNucleotideI$fUnboxNucleotideI NucleotideX$fShowNucleotideX$fReadNucleotideX$fEqNucleotideX$fOrdNucleotideX$fEnumNucleotideX$fBoundedNucleotideX$fCharacterXNucleotideX$fCharacterNucleotideX$fVectorVectorNucleotideX$fMVectorMVectorNucleotideX$fUnboxNucleotideX UniversalCodeStandardVertebrateMitochondrialCodon unsafeFromVec translate translateX translateI$fToJSONUniversalCode$fFromJSONUniversalCode $fShowCodon $fReadCodon $fEqCodon $fOrdCodon$fShowUniversalCode$fReadUniversalCode$fEqUniversalCode$fOrdUniversalCode$fEnumUniversalCode$fBoundedUniversalCode$fGenericUniversalCode nameWidth summaryLengthsummaryNSequences fieldWidthSequencename descriptionalphabet characters Characters DescriptionNamefromByteString toByteString summarizesummarizeSequencesheaderbodylength equalLengthlongesttrimconcatconcatSequencesfilterShorterThanfilterLongerThanfilterStandard$fShowSequence $fEqSequencehamming FrequencyData Alignmentnames descriptionsmatrix nSequences fromSequences toSequencesjoinconcatAlignmentsfilterColsConstantfilterColsConstantSoftfilterColsOnlyStd filterColsStdfilterColsNoGapstoFrequencyData distributioncountIUPACChars countGaps countUnknowns subSamplerandomSubSample$fShowAlignment $fEqAlignment translateSeqsequenceToFastasequencesToFasta fastaSequencefastabaseGHC.WordWord8ghc-prim GHC.TypesCharGHC.BaseStringcontainers-0.6.0.1Data.Set.InternalSetbytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteString tableHeaderversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName