slynx 0.4.1 → 0.5.0
raw patch · 4 files changed
+45/−35 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +10/−0
- README.md +27/−27
- slynx.cabal +1/−1
- src/SLynx/Simulate/Simulate.hs +7/−7
ChangeLog.md view
@@ -5,6 +5,16 @@ ## Unreleased changes +## Version 0.5.0++- `modLen`, `modSup`.+- Newtype wrappers for branch length, branch support, and node name. Those data+ types and some functions were also renamed.+- Add `Path`, and `getSubTreeUnsafe` to tree zipper.+- Rename `unsafe` functions so that `unsafe` is at the end.+- Many small changes.++ ## Version 0.4.1 - Improve `TimeSpec` (Point process).
README.md view
@@ -2,7 +2,7 @@ # The ELynx Suite -Version: 0.4.1.+Version: 0.5.0. Reproducible evolution made easy. <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>@@ -90,9 +90,9 @@ slynx --help | head -n -16 - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] [-f|--force] [--no-elynx-file] COMMAND@@ -137,9 +137,9 @@ slynx concatenate --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx concatenate (-a|--alphabet NAME) INPUT-FILE Concatenate sequences found in input files.@@ -158,9 +158,9 @@ slynx examine --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, 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 +180,9 @@ slynx filter-rows --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx filter-rows (-a|--alphabet NAME) INPUT-FILE [--longer-than LENGTH] [--shorter-than LENGTH] [--standard-characters]@@ -203,9 +203,9 @@ slynx filter-columns --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx filter-columns (-a|--alphabet NAME) INPUT-FILE [--standard-chars DOUBLE]@@ -227,9 +227,9 @@ slynx simulate --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL] [-m|--mixture-model MODEL] [-e|--edm-file NAME] @@ -306,9 +306,9 @@ slynx sub-sample --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx sub-sample (-a|--alphabet NAME) INPUT-FILE (-n|--number-of-sites INT)@@ -336,9 +336,9 @@ slynx translate --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: slynx translate (-a|--alphabet NAME) INPUT-FILE (-r|--reading-frame INT) (-u|--universal-code CODE)@@ -361,9 +361,9 @@ tlynx --help | head -n -16 - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: tlynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME] [-f|--force] [--no-elynx-file] COMMAND@@ -401,9 +401,9 @@ tlynx compare --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: tlynx compare [-n|--normalize] [-b|--bipartitions] [-t|--intersect] [-f|--newick-format FORMAT] NAMES@@ -430,9 +430,9 @@ tlynx examine --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: tlynx examine INPUT-FILE [-f|--newick-format FORMAT] Compute summary statistics of phylogenetic trees.@@ -454,9 +454,9 @@ tlynx simulate --help - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 pm, UTC. Usage: tlynx simulate (-t|--nTrees INT) (-n|--nLeaves INT) PROCESS [-u|--sub-sample DOUBLE] [-s|--summary-statistics] @@ -491,9 +491,9 @@ elynx --help | head -n -16 - ELynx Suite version 0.4.1.+ ELynx Suite version 0.5.0. Developed by Dominik Schrempf.- Compiled on October 16, 2020, at 12:46 pm, UTC.+ Compiled on November 10, 2020, at 14:29 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.1+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
src/SLynx/Simulate/Simulate.hs view
@@ -68,7 +68,7 @@ GenIO -> IO A.Alignment simulateAlignment pm t' n g = do- let t = getLen <$> toTreeBranchLabels t'+ let t = fromLength . getLen <$> toTreeBranchLabels t' c <- getNumCapabilities gs <- splitGen c g let chunks = getChunks c n@@ -99,7 +99,7 @@ -- XXX: Probably use type safe stuff here? alph = A.all $ alphabetSpec code sequences =- [ Seq.Sequence sName "" code (V.fromList $ map (`Set.elemAt` alph) ss)+ [ Seq.Sequence (fromName sName) "" code (V.fromList $ map (`Set.elemAt` alph) ss) | (sName, ss) <- zip leafNames leafStates ] return $ either error id $ A.fromSequences sequences@@ -125,8 +125,8 @@ 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"+pretty :: Length -> String+pretty = printf "%.5f" . fromLength prettyRow :: String -> String -> BL.ByteString prettyRow name val = alignLeft 33 n <> alignRight 8 v@@ -135,8 +135,8 @@ v = BL.pack val -- | Examine branches of a tree.-summarizeBranchLengths :: Measurable e => Tree e a -> BL.ByteString-summarizeBranchLengths t =+summarizeLengths :: Measurable e => Tree e a -> BL.ByteString+summarizeLengths t = BL.intercalate "\n" [ prettyRow "Origin height: " $ pretty h,@@ -215,7 +215,7 @@ tree <- liftIO $ parseFileWith (newick Standard) treeFile let t' = either error id $ phyloToLengthTree tree $(logInfo) $ T.pack $ "Number of leaves: " ++ show (length $ leaves t')- $(logInfo) $ LT.toStrict $ LT.decodeUtf8 $ summarizeBranchLengths t'+ $(logInfo) $ LT.toStrict $ LT.decodeUtf8 $ summarizeLengths t' let edmFile = argsEDMFile l let sProfileFiles = argsSiteprofilesFiles l $(logInfo) ""