slynx 0.4.0 → 0.4.1
raw patch · 4 files changed
+59/−53 lines, 4 files
Files
- ChangeLog.md +14/−0
- README.md +32/−29
- slynx.cabal +1/−1
- src/SLynx/Simulate/Simulate.hs +12/−23
ChangeLog.md view
@@ -5,6 +5,20 @@ ## Unreleased changes +## Version 0.4.1++- Improve `TimeSpec` (Point process).+- Parallel evaluation strategies.+- Change names of some functions involving partitions. For example, `mp` was+ renamed to `pt`.+- Improve documentation for (bi)partitions.+- Bugfix `tlynx compare`; do not throw error when branch support values are not+ set.+- Add `no-elynx-file` option.+- Also parse Nexus files with `tlynx` commands.+- Bugfix `subSample`; the sub sample was reversed.++ ## Version 0.4.0 - Major refactor of `elynx-tree`. All required function can now conveniently
README.md view
@@ -2,7 +2,7 @@ # The ELynx Suite -Version: 0.4.0.+Version: 0.4.1. Reproducible evolution made easy. <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>@@ -90,12 +90,12 @@ slynx --help | head -n -16 - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] - [-f|--force] COMMAND+ [-f|--force] [--no-elynx-file] COMMAND Analyze, and simulate multi sequence alignments. Available options:@@ -107,6 +107,7 @@ Specify base name of output file -f,--force Ignore previous analysis and overwrite existing output files.+ --no-elynx-file Do not write files for needed for reproducibility. Available commands: concatenate Concatenate sequences found in input files.@@ -136,9 +137,9 @@ slynx concatenate --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx concatenate (-a|--alphabet NAME) INPUT-FILE Concatenate sequences found in input files.@@ -157,9 +158,9 @@ slynx examine --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx examine (-a|--alphabet NAME) INPUT-FILE [--per-site] Examine sequences. If data is a multi sequence alignment, additionally analyze columns.@@ -179,9 +180,9 @@ slynx filter-rows --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx filter-rows (-a|--alphabet NAME) INPUT-FILE [--longer-than LENGTH] [--shorter-than LENGTH] [--standard-characters]@@ -202,9 +203,9 @@ slynx filter-columns --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx filter-columns (-a|--alphabet NAME) INPUT-FILE [--standard-chars DOUBLE]@@ -226,9 +227,9 @@ slynx simulate --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL] [-m|--mixture-model MODEL] [-e|--edm-file NAME] @@ -305,9 +306,9 @@ slynx sub-sample --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx sub-sample (-a|--alphabet NAME) INPUT-FILE (-n|--number-of-sites INT)@@ -335,9 +336,9 @@ slynx translate --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: slynx translate (-a|--alphabet NAME) INPUT-FILE (-r|--reading-frame INT) (-u|--universal-code CODE)@@ -360,12 +361,12 @@ tlynx --help | head -n -16 - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: tlynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] - [-f|--force] COMMAND+ [-f|--force] [--no-elynx-file] COMMAND Compare, examine, and simulate phylogenetic trees. Available options:@@ -377,6 +378,7 @@ Specify base name of output file -f,--force Ignore previous analysis and overwrite existing output files.+ --no-elynx-file Do not write files for needed for reproducibility. Available commands: compare Compare two phylogenetic trees (compute distances and branch-wise differences).@@ -390,6 +392,7 @@ Available tree file formats: - Newick Standard: Branch support values are stored in square brackets after branch lengths. - Newick IqTree: Branch support values are stored as node names after the closing bracket of forests.+ - Newick RevBayes: Key-value pairs is provided in square brackets after node names as well as branch lengths. XXX: Key value pairs are ignored at the moment. ## Compare@@ -398,9 +401,9 @@ tlynx compare --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: tlynx compare [-n|--normalize] [-b|--bipartitions] [-t|--intersect] [-f|--newick-format FORMAT] NAMES@@ -427,9 +430,9 @@ tlynx examine --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: tlynx examine INPUT-FILE [-f|--newick-format FORMAT] Compute summary statistics of phylogenetic trees.@@ -451,9 +454,9 @@ tlynx simulate --help - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: tlynx simulate (-t|--nTrees INT) (-n|--nLeaves INT) PROCESS [-u|--sub-sample DOUBLE] [-s|--summary-statistics] @@ -488,9 +491,9 @@ elynx --help | head -n -16 - ELynx Suite version 0.4.0.+ ELynx Suite version 0.4.1. Developed by Dominik Schrempf.- Compiled on September 4, 2020, at 13:37 pm, UTC.+ Compiled on October 16, 2020, at 12:46 pm, UTC. Usage: elynx COMMAND Validate and redo past ELynx analyses
slynx.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: slynx-version: 0.4.0+version: 0.4.1 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
src/SLynx/Simulate/Simulate.hs view
@@ -21,9 +21,6 @@ import Control.Concurrent import Control.Concurrent.Async import Control.Monad- ( unless,- when,- ) import Control.Monad.IO.Class import Control.Monad.Logger import Control.Monad.Trans.Class@@ -46,12 +43,12 @@ import qualified ELynx.Data.Sequence.Sequence as Seq hiding ( name, )-import ELynx.Tree import ELynx.Export.Sequence.Fasta import ELynx.Import.MarkovProcess.EDMModelPhylobayes import ELynx.Import.MarkovProcess.SiteprofilesPhylobayes import ELynx.Simulate.MarkovProcessAlongTree import ELynx.Tools+import ELynx.Tree import Numeric.LinearAlgebra hiding ( toList, (<>),@@ -115,18 +112,18 @@ ++ show (length cs) ++ " components." --- XXX. Maybe provide human readable model file. But then, why is this--- necessary. A human readable summary is reported anyways, and for Protein--- models the exchangeabilities are too many. reportModel :: P.PhyloModel -> ELynx SimulateArguments () reportModel m = do- bn <- outFileBaseName . global <$> ask- case bn of- Nothing ->- $(logInfo)- "No output file provided; omit writing machine-readable phylogenetic model."- Just _ ->- out "model definition (machine readable)" (BL.pack (show m) <> "\n") ".model.gz"+ as <- global <$> ask+ if writeElynxFile as+ then (do let bn = outFileBaseName as+ case bn of+ Nothing ->+ $(logInfo)+ "No output file provided; omit writing machine-readable phylogenetic model."+ Just _ ->+ out "model definition (machine readable)" (BL.pack (show m) <> "\n") ".model.gz")+ else $(logInfo) "No elynx file required; omit writing machine-readable phylogenetic model." pretty :: BranchLength -> String pretty = printf "%.5f"@@ -281,15 +278,7 @@ BL.intercalate "\n" $ summarizeGammaRateHeterogeneity n alpha return $ expand n alpha phyloModel'- -- -- XXX: Do not report possibly huge empirical distribution mixture models- -- -- for now, because it takes too long and uses too much disk space :).- unless- (isJust sProfiles)- ( do- $(logInfo) ""- reportModel phyloModel- $(logInfo) ""- )+ reportModel phyloModel $(logInfo) "Simulate alignment." let alignmentLength = argsLength l $(logInfo) $ T.pack $ "Length: " <> show alignmentLength <> "."