Seismic-rna

Latest version: v0.24.0

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 13

0.24.0

New Features

- Branches: `align`, `splitbam`, `relate`, `list`, `mask`, `cluster`, `fold`, and `sim relate` now accept the option `--branch/-b`, which creates a new branch of the workflow. This enables you to run the same step multiple times on the same inputs with different parameters, and keep and compare the results of different parameters. The branch name is appended to the step; e.g. running `cluster -b k3` will write its outputs into a directory called `cluster_k3` rather than `cluster`. Branches are cumulative so that you can track them through the whole workflow; e.g. if you run `align -b mapq10` (which writes to `align_mapq10`) and then input the results of align into `relate -b noambindel`, the results of relate will be in `relate_mapq10_noambindel`.
- Introns: `relate` can now handle reads with introns (`N` in the SAM/BAM file CIGAR string). This is useful for when you generate SAM/BAM files using a splice-aware aligner, rather than the default aligner (Bowtie 2) that SEISMIC-RNA uses (which does not detect introns). Handling introns (if any exist) in `relate` is always active; it is not enabled/disabled with a flag.
- `align` and `splitbam` now write the SHA-512 checksum of their FASTA and FASTQ files into the report to make it easier to keep track of which input files were used.
- `splitbam` now accepts directories in addition to SAM/BAM files, ensures no files have the same sample name, and writes reports.
- `draw` now supports SVG and PNG formats.
- `draw` can now install RNArtistCore using `jgo`.
- `mask` now accepts `--count-mut` option to make it easier to count a single type of mutation.
- `mask` now accepts multiple files (and directories) for `--mask-pos-file` and `--mask-read-file`.
- `migrate` now enables converting from v0.23 to v0.24 format, and it copies the files before reformatting them to prevent data loss if any errors occur.

Bug Fixes

- Fixed bug causing `align` to crash if there are 0 reads.
- Fixed bug where `cached_property` objects (e.g. `RelateBatch.read_nums`) would be stored inside batch files, increasing their size.

Format Changes

- Each brickle file now stores a `dict` of instance attributes rather than an instance itself, so that class names and module structures can be modified between versions without causing backwards incompatibilities.
- File checksums now use SHA-512 instead of MD5 for better security.

API Changes

- New `interface.py` module makes it easier to load datasets and tables.
- Run functions and path module functions now accept both `str` and `Path` instances.
- Path building/parsing functions now accept `tuple`/`list` and `dict` arguments instead of `*args` and `**kwargs` arguments, respectively.
- Classes where each instance has a file path and attributes that correspond to fields in the path now all inherit from `path.HasFilePath`; namely `Report`, `BrickleIO`, `List`, and `Table`. This refactoring consolidates several path handling methods that had been implemented multiple times for the different classes.
- Reads are now permitted to have 0 segments.
- NumPy MaskedArray are no longer used due to bugs when arrays are unsigned and fill values are signed integers.
- NumPy 2.0 and 2.1 are now supported.
- Python 3.10 is no longer supported (only 3.11 and 3.12).


What's Changed
* Relate introns by justinaruda in https://github.com/rouskinlab/seismic-rna/pull/21
* Merge 0.24.0 by matthewfallan in https://github.com/rouskinlab/seismic-rna/pull/22


**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.23.1...v0.24.0

0.23.1

Not secure
New Features

- New global command line option `--exit-on-error` makes SEISMIC-RNA exit immediately with code 1 if any uncaught exceptions occur rather than logging a message and exiting with code 0. It is most useful for automating the test suite, i.e. `seismic --exit-on-error test`, which will cause the test suite to exit with code 1 if any test fails (`seismic test` will still exit with code 0 even if tests fail, making it harder to detect failure automatically).

Bug Fixes

- Fixed the wrong default value of `--max-marcd-join`; it was 1.5 and is now 0.0175. A new unit test makes sure it has the same default value as `--min-marcd-run`.
- The global command line option `--profile` has been removed, since it had been nonfunctional for a long time.

**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.23.0...v0.23.1

0.23.0

Not secure
New Features

- `seismic ensembles` is a new command that performs scanning clustering, similar to DRACO (https://doi.org/10.1038/s41592-021-01075-w).
- A region of choice (default: full) is divided into overlapping subregions of identical lengths. By default, the length is chosen so that the average read has 2 mutations (the minimum for clustering).
- Each subregion is clustered to determine how many structures it forms.
- Consecutive subregions that form the same number of clusters, with similar mutation rates, are joined automatically.
- Each joined region suggests the existence of an RNA module that folds into one or more structures independently of the surrounding sequences.
- `seismic join` can now automatically determine the best way to match clusters from multiple regions, without needing to provide a `--join-clusts` file. The regions must still have the same numbers or clusters (or none, if coming from the Mask step).
- Three new types of graph have been added (and are also now available through `seismic wf`):
- `seismic graph abundance`: Abundance of each cluster, either as a fraction of the ensemble or as a number of reads in the cluster.
- `seismic graph poscorr`: Phi correlation of the mutations between every pair of positions.
- `seismic graph mutdist`: Histogram of the distance between the two closest mutations in each read (or 0 for each read with fewer than two mutations).
- Both `pool` and `join` now tabulate the pooled/joined datasets automatically (with the option to turn this off).
- Five new commands provide easy access to online resources:
- `seismic biorxiv`: the preprint on bioRxiv
- `seismic docs`: the documentation on GitHub pages
- `seismic github`: this GitHub repository
- `seismic pypi`: the Python Package Index page for SEISMIC-RNA
- `seismic conda`: the Conda page for SEISMIC-RNA


Bug Fixes

- In `seismic relate`, the algorithm that finds ambiguous indels has been redesigned to make it non-recursive, so that it will no longer take extreme amounts of time to process reads with indels in long stretches of low-quality base calls.
- Fixed a bug in `seismic align` and `seismic relate` where processing multiple FASTQ/BAM files with the same sample and reference names could cause crashes or files to be overwritten. Now, if this situation is detected at the beginning, an error is raised to protect the data.
- Fixed a bug in `seismic mask` and `seismic cluster` where processing datasets in multiple output directories with the same sample, reference, and region names could cause crashes or files to be overwritten.
- Fixed a bug where running `seismic mask` with multiple regions of the same Relate dataset simultaneously would cause all but one of those regions to crash.
- Fixed a bug in `seismic mask` where if 0 positions remained at the end of one iteration, it would fail to mask out the remaining reads.
- In `seismic mask`, `-s` has been renamed to `-i`.
- In `seismic join` for clustered datasets, if the joined mask report already exists, then it now checks that the joined regions in the mask report match the regions that will be joined in the cluster report (and raises an error if they do not match).
- When correcting observer bias, the algorithm now issues a warning for `ValueError: Jacobian inversion yielded zero vector` instead of crashing.
- In `seismic cluster`, error that happen when calculating the jackpot quotient and creating the graphs now also trigger warning messages rather than crashes.
- Graphs that take two tables (`corroll`, `delprof`, and `scatter`) now always sort the names of their two samples alphabetically, so that they don't generate multiple sample directories for the same graphs depending on the order of their arguments.
- Replaced `static const char` variables with macros for backwards compatibility with older versions of C.


Logging

- There are now eight levels, including a new level ACTION (for writes to the filesystem and shell commands).
- The verbosity arguments now range from `-vvvv` (log everything to console) to `-qqqq` (log nothing to console).
- Many of the logging messages have been made more concise for easier comprehension.
- SEVERE has been renamed to FATAL.
- COMMAND has been renamed to STATUS.


Other Changes

- To speed up `seismic relate`, batches of read names and the table of relationships per read are no longer written by default, since they are rarely needed but writing them takes a relatively long time.
- The `meson.build` file now includes compiler flags `-O2` and `-DNDEBUG` to make the machine code for `seismic relate` more efficient.
- The `pool` and `join` commands now require specifying the name of the pooled sample and joined region, respectively, to avoid confusion over what the new sample/region is named.
- When calculating the BIC, the threshold for the reads to parameters ratio has been relaxed to cause fewer warning messages.
- In the API, run functions now accept generic `Iterable[str | Path]` arguments where they previously expected only `tuple[str, ...]` arguments.
- Unit tests now test all types of graphs, and run in double verbose mode on the command line.


**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.22.3...v0.23.0

0.22.3

Not secure
PyPI

- Wheels for macOS
- Source distribution


**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.22.2...v0.22.3

0.22.2

Not secure
- The core algorithm of the relate step has been re-implemented in C, speeding it up by roughly 10x. The original Python version of the algorithm is still available as a fallback or for benchmarking or debugging, using the option `--relate-py`.
- The build backend has been changed from Hatch to Meson in order to build the new C extension module for relate.

**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.22.1...v0.22.2

0.22.1

Not secure
Draw

- The `draw` module creates vectorized, publication-quality figures, directly from the output of SEISMIC-RNA's `fold` module.
- Initially piloted in 0.22.0, drawing can now be run automatically as part of `wf` by including the `--draw` flag.
- The `draw` command will automatically color bases according to the reactivities used by SEISMIC-RNA to constrain the structure prediction, although this behavior can be disabled with the `--no-color` flag.
- When multiple structures are predicted, only the one with the best AUROC will be drawn by default, although any structure(s) can be specified with the `--struct-num` flag.
- Many thanks to Fabrice Jossinet (fjossinet) for developing [RNArtistCore](https://github.com/fjossinet/RNArtistCore), the heart the `draw` module.
- To install RNArtistCore, first download the [latest release](https://github.com/fjossinet/RNArtistCore/releases) and save the `.jar` file in a safe place. Second, set the environmental variable `RNARTISTCORE` to the full path to the `.jar` file. It is recommended you do this by adding the line `export RNARTISTCORE="/full/path/to/your/rnartistcore-X.X.X-SNAPSHOT-jar-with-dependencies.jar"` to your .bashrc or .zshrc file.
- Installation instructions for RNArtistCore can also be found in a descriptive error message triggered by running the `draw` command when it is not installed.

Bug Fixes

- Fixed incorrect parsing of structure profiles generated from mask tables when using the draw module.
- Implemented safeguards against missing color and table files when drawing structures.

**Full Changelog**: https://github.com/rouskinlab/seismic-rna/compare/v0.22.0...v0.22.1

Page 1 of 13

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.