Releases: PROBIC/mSWEEP
Releases · PROBIC/mSWEEP
mSWEEP-v1.5.2 (20 November 2021)
Added compatibility with the changes to Themisto's command line interface and new index file structure in Themisto v2.0.0.
Changes
- Changed the
--themisto-index
argument so that the program will abort with an error telling the user to rerun mSWEEP without--themisto-index
if Themisto v2.0.0 index format is detected.
Documentation
- Updated documentation with usage instructions for both Themisto <=v1.2..0 and >=v2.0.0.
mSWEEP-v1.6.0 (15 November 2021)
November is sometimes in May edition.
New features
- Added MPI support and instructions for using it.
- Added support for reading in likelihoods written with the
--write-likelihoods
toggle (resolves #12).
Changes
- Many internal changes and code refactoring.
- Use a new implementation of the model fitting code from rcgpar, which contains tests, better multiprocessing support, and a distributable (MPI compatible) version of the model fitting code.
Bugfixes
- Fixed
--print-probs
so that it always prints to cout like the documentation says.
mSWEEP-v1.5.1 (9 November 2021)
Finally published edition.
New features
- New
--version
toggle prints the version of the program. - New
--cite
toggle prints the citation information for the mSWEEP article in Wellcome Open Research.
Documentation
- Added info about the doi for specific versions of mSWEEP to the readme file.
Build pipeline changes
- Download dependencies that are used by mSWEEP and/or some other dependencies only once and reuse them.
- Download cxxio when building instead of shipping with mSWEEP.
Files restructuring
- Moved config files from the main folder into
config/
.
Code restructuring
- Renamed main.cpp to mSWEEP.cpp.
- Use functions from dependencies when available instead of copying them to the mSWEEP source code.
mSWEEP v1.5.0 (15 October 2021)
Fall foliage edition: code restructuring and new features.
New Features
Options to extract the likelihood matrix that mSWEEP uses internally:
--write-likelihood
: output the likelihood matrix in tab separated matrix format. Will write to a file with the_likelihoods.txt
suffix if-o
is specified, otherwise the matrix will be emitted tocout
.--write-likelihood-bitseq
: same as above but the output will be in a format that is compatible with BitSeq'sestimateExpression
andestimateVBExpression
programs. Files from this toggle will have the_bitseq_likelihoods.txt
suffix.
Added --no-fit-model
toggle to skip the relative abundance estimation part:
--no-fit-model
: skip estimating the relative abundances. Useful if only the likelihood matrix is needed.
Support supplying multiple groupings via the -i
or --groups-list
toggles:
- Several groupings can be supplied by appending them as columns to the argument given by either the
-i
or the--groups-list
options. - The column delimiter is defined by the
--groups-delimiter
argument (default: tab-separated.). - If there are several groupings and output to file is requested, the output will be written to the file specified by the
-o
argument but with the column index appended. Otherwise the results from all runs will print to cout.
Bugfixes
- Removed the extra line at the end of output when running in bootstrap mode.
Internal changes
- Some code restructuring to make adding new features easier.
- Hopefully improved code readability and a bit of documentation.
- Renamed some variables and functions that used the old "bitfields" naming scheme.
- Resolved some compiler warnings that arose when compiling with
-Wall -Wextra -Wpedantic
. - Made several integer types explicit with
(u)int32_t
style typing. - The
Grouping
andReference
structs have been separated and made into proper classes.
mSWEEP-v1.4.0 (10 March 2020)
Beware the clichés of software naming edition.
New features
- Support parallel processing through the '-t' flags with excellent scaling in larger problems.
- Add possibility to match the input grouping indicators to the fasta file through the '--fasta' and '--groups-list' options.
- Add the '--bootstrap-count' option which allows resampling fewer input alignments than the original sample contains.
- Add possibility to specify the initial random seed for bootstrapping through the '--seed' option.
- Support reading in files compressed with bz2 or lzma if compiled on a machine that supports them.
Better error checking
- Validate that all input and output files exist and are accessible.
- Add possibility to validate the input grouping indicators when using Themisto pseudoalignments (resolves #4 ).
- Catch errors in several places that escaped in earlier versions.
- More informative error messages in the above-mentioned cases.
More efficient resource usage
- Parallel proceessing in the RCG optimization using OpenMP.
- Memory usage reduced by ~40% and in large problems.
- Single core performance increased by ~10% in large problems.
Better build pipeline
- Download dependencies when running cmake.
- Build without OpenMP if it is not supported.
- More aggressive compiler optimization flags.
- Support build and optimization with the Intel C compiler.
Internal changes
- Improve code structure and legibility.
- Use an external library (telescope) to read in pseeudoalignments from both kallisto or Themisto.
- Better internal storage for the pseudoalignments.
- Change the (rareish) reset step in the RCG optimization to be computationally more expensive but consume significantly less memory.
- Separate bootstrap and regular sample processing classes.
mSWEEP-v1.3.2 (30 January 2020)
mSWEEP-v1.3.1 (21 January 2020)
mSWEEP-v1.2.2 (3 September 2019)
v1.1.0 (17 December 2018)
Prepublication edition
This is the version that was used to run experiments in the mSWEEP preprint (2019), and the first release to print the version number when ran.