elynx-seq 0.5.0 → 0.5.0.1
raw patch · 5 files changed
+127/−138 lines, 5 filesdep ~aesondep ~attoparsecdep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, attoparsec, bytestring, containers, elynx-tools, hspec, matrices, mwc-random, parallel, primitive, vector, vector-th-unbox, word8
API changes (from Hackage documentation)
Files
- ChangeLog.md +9/−2
- README.md +37/−54
- elynx-seq.cabal +78/−79
- src/ELynx/Data/Alphabet/Alphabet.hs +2/−2
- src/ELynx/Data/Sequence/Alignment.hs +1/−1
ChangeLog.md view
@@ -1,11 +1,18 @@ -# Changelog for ELynx+# Revision history for ELynx ## Unreleased changes +- Improve rooting functions.+- Improve `Topology` data type (but still a lot to do).+- Various additions to the documentation.+- Rename `Measurable` to `HasLength`, `Supported` to `HasSupport`, and `Named`+ to `HasLength`.+- Cabal and stack file changes. -## Version 0.5.0++## Version 0.5.0.1 - `modLen`, `modSup`. - Newtype wrappers for branch length, branch support, and node name. Those data
README.md view
@@ -2,7 +2,7 @@ # The ELynx Suite -Version: 0.5.0.+Version: 0.5.0.1. Reproducible evolution made easy. <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>@@ -19,18 +19,20 @@ The library packages are: -- **elynx-nexus:** Nexus file support.-- **elynx-markov:** Simulate multi sequence alignments along phylogenetic trees.-- **elynx-seq:** Handle evolutionary sequences and multi sequence alignments.-- **elynx-tools:** Tools for the provided executables.-- **elynx-tree:** Handle phylogenetic trees.+- **[elynx-nexus](https://hackage.haskell.org/package/elynx-nexus):** Nexus file support.+- **[elynx-markov](https://hackage.haskell.org/package/elynx-markov):** Simulate multi sequence alignments along phylogenetic trees.+- **[elynx-seq](https://hackage.haskell.org/package/elynx-seq):** Handle evolutionary sequences and multi sequence alignments.+- **[elynx-tools](https://hackage.haskell.org/package/elynx-tools):** Tools for the provided executables.+- **[elynx-tree](https://hackage.haskell.org/package/elynx-tree):** Handle phylogenetic trees. The executables are: -- **slynx:** Analyze, modify, and simulate evolutionary sequences.-- **tlynx:** Analyze, modify, and simulate phylogenetic trees.-- **elynx:** Validate and redo past analyses.+- **[slynx](https://hackage.haskell.org/package/slynx):** Analyze, modify, and simulate evolutionary sequences.+- **[tlynx](https://hackage.haskell.org/package/tlynx):** Analyze, modify, and simulate phylogenetic trees.+- **[elynx](https://hackage.haskell.org/package/elynx):** Validate and redo past analyses. +Documentation is available on [Hackage](https://hackage.haskell.org/) (use direct links above).+ **ELynx is actively developed. We happily receive comments, ideas, feature requests, and pull requests!** @@ -65,34 +67,15 @@ [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) environment variable. Then, they can be used directly. -# Documentation--Documentation is available on [Hackage](https://hackage.haskell.org/).--Libraries:--- [elynx-nexus](https://hackage.haskell.org/package/elynx-nexus)-- [elynx-markov](https://hackage.haskell.org/package/elynx-markov)-- [elynx-seq](https://hackage.haskell.org/package/elynx-seq)-- [elynx-tools](https://hackage.haskell.org/package/elynx-tools)-- [elynx-tree](https://hackage.haskell.org/package/elynx-tree)--Executables:--- [elynx](https://hackage.haskell.org/package/elynx)-- [slynx](https://hackage.haskell.org/package/slynx)-- [tlynx](https://hackage.haskell.org/package/tlynx)-- # SLynx Handle evolutionary sequences. slynx --help | head -n -16 - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] [-f|--force] [--no-elynx-file] COMMAND@@ -137,9 +120,9 @@ slynx concatenate --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx concatenate (-a|--alphabet NAME) INPUT-FILE Concatenate sequences found in input files.@@ -158,9 +141,9 @@ slynx examine --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx examine (-a|--alphabet NAME) INPUT-FILE [--per-site] Examine sequences. If data is a multi sequence alignment, additionally analyze columns.@@ -180,9 +163,9 @@ slynx filter-rows --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx filter-rows (-a|--alphabet NAME) INPUT-FILE [--longer-than LENGTH] [--shorter-than LENGTH] [--standard-characters]@@ -203,9 +186,9 @@ slynx filter-columns --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx filter-columns (-a|--alphabet NAME) INPUT-FILE [--standard-chars DOUBLE]@@ -227,9 +210,9 @@ slynx simulate --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL] [-m|--mixture-model MODEL] [-e|--edm-file NAME] @@ -306,9 +289,9 @@ slynx sub-sample --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx sub-sample (-a|--alphabet NAME) INPUT-FILE (-n|--number-of-sites INT)@@ -336,9 +319,9 @@ slynx translate --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: slynx translate (-a|--alphabet NAME) INPUT-FILE (-r|--reading-frame INT) (-u|--universal-code CODE)@@ -361,9 +344,9 @@ tlynx --help | head -n -16 - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: tlynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] [-f|--force] [--no-elynx-file] COMMAND@@ -401,9 +384,9 @@ tlynx compare --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: tlynx compare [-n|--normalize] [-b|--bipartitions] [-t|--intersect] [-f|--newick-format FORMAT] NAMES@@ -430,9 +413,9 @@ tlynx examine --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: tlynx examine INPUT-FILE [-f|--newick-format FORMAT] Compute summary statistics of phylogenetic trees.@@ -454,9 +437,9 @@ tlynx simulate --help - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: tlynx simulate (-t|--nTrees INT) (-n|--nLeaves INT) PROCESS [-u|--sub-sample DOUBLE] [-s|--summary-statistics] @@ -491,9 +474,9 @@ elynx --help | head -n -16 - ELynx Suite version 0.5.0.+ ELynx Suite version 0.5.0.1. Developed by Dominik Schrempf.- Compiled on November 10, 2020, at 14:29 pm, UTC.+ Compiled on December 18, 2020, at 10:14 am, UTC. Usage: elynx COMMAND Validate and redo past ELynx analyses
elynx-seq.cabal view
@@ -1,18 +1,19 @@-cabal-version: 2.2-name: elynx-seq-version: 0.5.0-synopsis: Handle molecular sequences-description: Examine, modify, and simulate molecular sequences in a reproducible way. Please see the README on GitHub at <https://github.com/dschrempf/elynx>.-category: Bioinformatics-homepage: https://github.com/dschrempf/elynx#readme-bug-reports: https://github.com/dschrempf/elynx/issues-author: Dominik Schrempf-maintainer: dominik.schrempf@gmail.com-copyright: Dominik Schrempf (2020)-license: GPL-3.0-or-later-license-file: LICENSE-build-type: Simple+cabal-version: 2.2+name: elynx-seq+version: 0.5.0.1+license: GPL-3.0-or-later+license-file: LICENSE+copyright: Dominik Schrempf (2020)+maintainer: dominik.schrempf@gmail.com+author: Dominik Schrempf+homepage: https://github.com/dschrempf/elynx#readme+bug-reports: https://github.com/dschrempf/elynx/issues+synopsis: Handle molecular sequences+description:+ Examine, modify, and simulate molecular sequences in a reproducible way. Please see the README on GitHub at <https://github.com/dschrempf/elynx>. +category: Bioinformatics+build-type: Simple extra-source-files: README.md ChangeLog.md@@ -26,72 +27,70 @@ data/TranslateMitochondrialVertebrateProtein.fasta source-repository head- type: git- location: https://github.com/dschrempf/elynx+ type: git+ location: https://github.com/dschrempf/elynx library- exposed-modules:- ELynx.Data.Alphabet.Alphabet- ELynx.Data.Alphabet.Character- ELynx.Data.Alphabet.DistributionDiversity- ELynx.Data.Character.AminoAcid- ELynx.Data.Character.AminoAcidI- ELynx.Data.Character.AminoAcidS- ELynx.Data.Character.AminoAcidX- ELynx.Data.Character.Character- ELynx.Data.Character.Codon- ELynx.Data.Character.Nucleotide- ELynx.Data.Character.NucleotideI- ELynx.Data.Character.NucleotideX- ELynx.Data.Sequence.Alignment- ELynx.Data.Sequence.Defaults- ELynx.Data.Sequence.Distance- ELynx.Data.Sequence.Sequence- ELynx.Data.Sequence.Translate- ELynx.Export.Sequence.Fasta- ELynx.Import.Sequence.Fasta- other-modules:- Paths_elynx_seq- autogen-modules:- Paths_elynx_seq- hs-source-dirs:- src- ghc-options: -Wall- build-depends:- aeson- , attoparsec- , base >=4.7 && <5- , bytestring- , containers- , matrices- , mwc-random- , parallel- , primitive- , vector- , vector-th-unbox- , word8- default-language: Haskell2010+ exposed-modules:+ ELynx.Data.Alphabet.Alphabet+ ELynx.Data.Alphabet.Character+ ELynx.Data.Alphabet.DistributionDiversity+ ELynx.Data.Character.AminoAcid+ ELynx.Data.Character.AminoAcidI+ ELynx.Data.Character.AminoAcidS+ ELynx.Data.Character.AminoAcidX+ ELynx.Data.Character.Character+ ELynx.Data.Character.Codon+ ELynx.Data.Character.Nucleotide+ ELynx.Data.Character.NucleotideI+ ELynx.Data.Character.NucleotideX+ ELynx.Data.Sequence.Alignment+ ELynx.Data.Sequence.Defaults+ ELynx.Data.Sequence.Distance+ ELynx.Data.Sequence.Sequence+ ELynx.Data.Sequence.Translate+ ELynx.Export.Sequence.Fasta+ ELynx.Import.Sequence.Fasta + hs-source-dirs: src+ other-modules: Paths_elynx_seq+ autogen-modules: Paths_elynx_seq+ default-language: Haskell2010+ ghc-options: -Wall -Wunused-packages+ build-depends:+ aeson >=1.5.4.1 && <1.6,+ attoparsec >=0.13.2.4 && <0.14,+ base >=4.7 && <5,+ bytestring >=0.10.10.0 && <0.11,+ containers >=0.6.2.1 && <0.7,+ matrices >=0.5.0 && <0.6,+ mwc-random >=0.14.0.0 && <0.15,+ parallel >=3.2.2.0 && <3.3,+ primitive >=0.7.1.0 && <0.8,+ vector >=0.12.1.2 && <0.13,+ vector-th-unbox >=0.2.1.7 && <0.3,+ word8 >=0.1.3 && <0.2+ test-suite seq-test- type: exitcode-stdio-1.0- main-is: Spec.hs- other-modules:- ELynx.Data.Alphabet.DistributionDiversitySpec- ELynx.Data.Sequence.AlignmentSpec- ELynx.Data.Sequence.SequenceSpec- ELynx.Data.Sequence.TranslateSpec- ELynx.Export.Sequence.FastaSpec- ELynx.Import.Sequence.FastaSpec- Paths_elynx_seq- hs-source-dirs:- test- ghc-options: -Wall- build-depends:- base >=4.7 && <5- , bytestring- , elynx-seq- , elynx-tools- , hspec- , matrices- , vector- default-language: Haskell2010+ type: exitcode-stdio-1.0+ main-is: Spec.hs+ hs-source-dirs: test+ other-modules:+ ELynx.Data.Alphabet.DistributionDiversitySpec+ ELynx.Data.Sequence.AlignmentSpec+ ELynx.Data.Sequence.SequenceSpec+ ELynx.Data.Sequence.TranslateSpec+ ELynx.Export.Sequence.FastaSpec+ ELynx.Import.Sequence.FastaSpec+ Paths_elynx_seq++ default-language: Haskell2010+ ghc-options: -Wall -Wunused-packages+ build-depends:+ base >=4.7 && <5,+ bytestring >=0.10.10.0 && <0.11,+ elynx-seq -any,+ elynx-tools >=0.5.0.1 && <0.6,+ hspec >=2.7.4 && <2.8,+ matrices >=0.5.0 && <0.6,+ vector >=0.12.1.2 && <0.13
src/ELynx/Data/Alphabet/Alphabet.hs view
@@ -273,7 +273,7 @@ toStdPS '-' = "" toStdPS '.' = "" toStdPS '*' = ""-toStdPS _ = error "toStdPX: Cannot convert to standard amino acid."+toStdPS _ = error "toStdPS: Cannot convert to standard amino acid." proteinI :: AlphabetSpec proteinI = fromChars "ACDEFGHIKLMNPQRSTVWY" "-." "X?" "*JBZ" toStdPI@@ -307,4 +307,4 @@ toStdPI 'Z' = "EQ" toStdPI 'X' = "ACDEFGHIKLMNPQRSTVWY" toStdPI '?' = "ACDEFGHIKLMNPQRSTVWY"-toStdPI _ = error "toStdPX: Cannot convert to standard amino acid."+toStdPI _ = error "toStdPI: Cannot convert to standard amino acid."
src/ELynx/Data/Sequence/Alignment.hs view
@@ -244,7 +244,7 @@ -- the number of characters. type FrequencyData = M.Matrix Double --- Map a function on each row of a DIM2 array; parallel version with given chunk size.+-- Map a function on each column of a DIM2 array; parallel version with given chunk size. fMapColParChunk :: (V.Unbox a, V.Unbox b) => Int ->