Migration
- To convert SEISMIC-RNA outputs from version 0.21 to version 0.22 (which are not compatible with each other), type `seismic migrate out`, where `out` is an output directory. You may give additional output directories as positional arguments.
Align
- The default alignment scores have been made more stringent, from `L,1,0.5` to `L,1,0.8` (local mode) and from `L,-1,-0.5` to `L,-1,-0.8` (end-to-end mode), to reduce the number of reads with huge numbers of mutations (especially indels) that could previously slip through.
- In the align report, references are now sorted from most to fewest reads.
Relate
- Insertions are now marked on either the base immediately 3' of the insertion (default) or immediately 5' (enabled with `--insert5`), rather than on both bases, to make it possible to count insertions using the existing code.
- The algorithm that finds ambiguous indels has been rewritten to simplify the code and handle more edge cases. It is consequently slower, but its simpler structure now allows the algorithm to be reimplemented in C (to make it much faster than even the original), which will be done in a subsequent version.
Mask
- The term "section" is renamed to "region" to match the terminology used by most of the field to refer to parts of sequences/genes.
- The mask step runs multiple iterations of filtering reads, then filtering positions, and repeating, to make sure the reads that are ultimately kept meet all the criteria for the positions that are ultimately kept.
- The masking process is repeated until an iteration removes no more reads/positions, no reads/positions remain at all, or an maximum number of iterations is reached (no limit by default, but can be set with `--max-mask-iter`).
- Arbitrary reads can be masked out by naming them individually with `--mask-read`, providing a text file of read names to mask out with `--mask-read-file`, or both.
Table
- Table files are now written into the relate, mask, and cluster directories instead of into a separate table directory.
- Table files are now created during the relate, mask, and cluster steps; the table command still exists but is needed only for regenerating the table files if they are ever deleted.
- When calculating the data in a table, batches are now processed in parallel, which speeds up tabulation when you have a small number of large samples.
- Specific tables can now be disabled with options, e.g. `--no-mask-pos-table`.
- Table files now have more descriptive names, e.g. `mask-position-table` instead of `mask-per-pos`.
- The "Unambiguous" column has been renamed to "Informative".
- A bug causing some errors when counting duplicate reads has been fixed.
Graph
- Graphs of data from the mask step have been renamed from `masked` to `filtered` to make it clear that the data are from the reads/positions that remained after filtering, not the ones that were masked out.
Draw
- A new command, draw, has been added to draw RNA structures using RNArtist.
Simulation
- Simulating end coordinates now uses two parameters for variance, `--center-fvar` and `--length-fvar`, so that they can be decoupled (e.g. to generate uniform-length reads of variable position).
Workflow
- Commands that are not part of the main workflow all began with a `+` to help distinguish them as auxiliary; with improved documentation, it should now be more clear to distinguish them, so the `+` has been removed to make auxiliary commands easier to type.
- To reduce the risk of rerunning an earlier step (e.g. mask) and forgetting to rerun a later step (e.g. cluster) based on the new results, an error is raised if the "Time Ended" field of the later step's report file occurs before that of the earlier step. If needed, this check can be disabled with `--no-verify-times`.
Python API
- The logger is now initialized by default when using `import seismicrna`.
- Brickle files can be loaded without a checksum by passing `checksum=""` to `BrickleIO.load()`.
- The `Dataset.load()` class method has been removed; `Dataset.__init__()` now accepts a report file and should be used instead.
- Class `Qnames` has been renamed to `ReadNames`.
- Arbitrary reads can be masked when tabulating mask and cluster datasets.
- Table classes have been renamed with full names, e.g. from `ClustPosTable` to `ClusterPositionTable`.
- Default fields for Table paths now include `cmd`, `table`, and `ext`.
What's Changed
* 0.22.0 by matthewfallan in https://github.com/rouskinlab/seismic-rna/pull/19
**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.21.1...v0.22.0