Releases: bcgsc/NanoSim
v3.2.2
General changes:
- Fix return value when q_mode is True for function primary_and_unaligned_chimeric in get_primary_sam.py (#230)
- Check for and skip secondary alignments in base quality characterization (#230)
- If the homopolymer length modelling doesn't converge, detect this and raise a more informative error (#230)
- Fixes for
-min
and-max
parameters (#234) - Refactoring
genome
mode:
- Fix to avoid IndexError being raised with some parameter combinations when simulating genomic reads (#232)
transcriptome
mode:
- Remove
--chimeric
from transcriptome characterization to keep consistency with simulation options (#230)
metagenome
mode:
v3.2.1
General changes:
- Bugfixes for
--fastq
mode of the characterization stage for genome and metagenome modes (#222) - Bugfix for base quality characterization in chimeric mode (#223)
- Corrections to help pages
- Updating README.md for current help pages of
read_analysis.py
andsimulator.py
- Add missing dependencies to
requirements.txt
Enhancements:
- Added a new pre-trained model for newest release, which includes characterization of base qualities and homopolymers (#224)
v3.2.0
NanoSim Version 3.2.0 Release Notes
Overview
This release includes changes from April 2022 to August 2024. It adds a new feature to NanoSim and provides a new pre-trained model (R10 Chemistry and Dorado Basecaller) for users to choose from. It also contains several bugfixes. Details of all updates are outlined below:
New Feature
- This release incorporates the calculation and analyses related to homopolymer length and base quality into the characterization stage, removing the dependency on hard-coded metrics as discussed in #212 (pull request #217). Thanks, @theottlo for this.
Enhancements
- Uploaded a new pre-trained model: NA24385 - hg002 AshkenazimTrio - Son, sequenced by Kitv14 (R10 chemistry) and basecalled by dorado. Thanks @lcoombe for this. The model trained on 1M subset reads is uploaded to NanoSim Github and the model with the whole dataset is available through Zenodo. (79e5f92) - by @SaberHQ
- Relaxed package requirements by @kmnip in #177
Bug Fixes
- Fixed a bug related to read headers in metagenome simulation by @LokiLuciferase in #167
- Fixed a bug related to potential infinite loops in metagenome mode by @kmnip in #189 (Addresses #184 and #185)
- Fixed an infinite loop bug for very short references by @kmnip in #199 (fixes the issue reported in #130 (comment))
Documentation Updates
We made changes to NanoSim’s documentation, so that it is more clear.
- Consolidated citation format, clarified installation details, and updated old content: #192
- Added more clarification regarding the pre-trained models and included information about the newly trained model on NA24385 - hg002 with R10 chemistry and basecalled with dorado. (ef56977) - by @SaberHQ
- Added information on how to avoid package incompatibility issues and also problems with conda installations (f7b6cea) - by @SaberHQ
- Fixed typo by @xinehc in #169
- Added information about
cs
tag in BAM files (adfd7c6)
Known Issues
We acknowledge that there is still package dependency issue when using the old pre-trained models with the newest version of some python packages such as sci-kit-learn. We highly recommend everyone to take a look at dependencies section of readme file for more information. That being said, if you want to train your own models (which is super easy and straight forward), NanoSim should work just fine. However, if you prefer to use older pre-trained models, then you should pay attention to the package versions installed on your environment and use the same versions indicated here.
Full Changelog: v3.1.0...v3.2.0
v3.1.0
This release contains several major bugfixes + new added features as outlined below.
General changes:
- updated
requirements.txt
- fixed bug where head/tail lengths are calculated without considering the strand of the alignment
- fixed bug where sequence IDs in
_aligned_error_profile
do not match those in_aligned_reads.fastq
(fixes #151) - set default file compression level to 1 (previously level 6)
genome
mode:
- fixes bug where
-c
option crashes
transcriptome
mode:
- new options for
read_analysis.py
:-c
detect chimeric reads-q
quantify transcript expression-n
normalize expression values by transcript length
- new expression quantification algorithm based on abundance estimation in metagenome mode
- fixed bug where identical read lengths are simulated for the same transcript (fixes #155; thanks Haoran Li)
- fixed bug where transcripts without a
ENS
name prefix cannot be simulated, which may result in an infinite loop (fixes #112, #156) - optimized various parts of simulation (see #150, #158)
- fixed bug where head/tail lengths are calculated without considering genome alignments in addition to transcriptome alignments (fixes #136)
metagenome
mode:
- the option
--dna_type_list
is not required when reference genomes are streamed from RefSeq
v3.0.2
This release is the version used to generate Meta-NanoSim manuscript.
Changes include:
- Update README.md to include more information about dependencies and installation instructions.
- Bug fix for the pysam get cigar string function.
- Bug fix for simulated read length output.
- Included the option for EM base-level abundance quantification without chimeric reads detection.
v3.0.1
In this release, we are introducing a new feature about compressed files and have fixed a few bugs as follows:
-
NanoSim now supports reading
.gz
sequence files, andbam
files. When processing intermediate files, it savesbam
files instead ofsam
files to reduce disk space. -
Every subprocess is re-seeded before running, to avoid the repetitive random sequences in simulated reads.
-
Lognormal distribution simulation and
-max_len
feature bug was fixed (#118). -
Bug fix for
read_analysis.py genome
mode (#123). -
Added clarification to the README file about external programs needed to run NanoSim, including GenomeTools (gt) which is required to work with gtf/gff files for Intron Retention analysis.
V3.0.0
Official release of version 3.0.0
Major improvements from previous beta version:
-
Quantification of metagenome abundance levels using EM algorithm
-
Quantification mode now includes metagenome abundance level estimation. Parameters are a bit different now.
-
requirements.txt
includesjoblib
library, and the version numbers are removed. So users may install the latest versions of each package with best compatibility.
Minor changes:
-
human_NA12878_cDNA_Bham1_guppy
model is re-trained. -
README is updated with more info on input files
NanoSim v3.0.0 pre-release
Here we are announcing NanoSim v3.0.0 pre-release, and we will make it an official one once the manuscript is published. Please note that the tar ball attached doesn't contain any pre-trained models, so the downloading will be much faster.
In this release, NanoSim is able to simulate metagenomes with variable abundance profiles.
Key features include:
-
Quantify species abundance level, which is not readily available in existing abundance quantification tools
-
Simulate multiple samples in one batch
-
Simulate chimeric reads in
metagenome
mode andgenome
mode -
Simulate abundance variance deviated from expected value
Bug fixes and small improvements:
-
Fixed the bug in fastq simulation which leads to discrepancy between quality score length and sequence length
-
Changed the way of importing model files, allowing better compatibility
-
Re-trained all the models to be compatible with the model importing
-
Added 2 more pre-trained models for metagenome datasets
V2.6.0
In this release, there's a key update in the simulation stage. NanoSim is capable of simulating fastq files now! We characterized a few datasets and used truncated log-normal distribution models to simulate the base quality of unaligned reads, matched bases, erroneous bases for genome and transcriptome reads separately.
Most of the changes in this release are for the simulation stage.
Other features:
-
Perfect reads can have poly(A) tails now.
-
Read files and error profiles for unaligned reads are separated from aligned reads now.
Bug fixes:
-
Minor bugs in IR modeling, eliminated the exon extraction biases and read orientation problem
-
Reversed the strandness information in simulation, which was opposite to the real orientation
-
Solved occasional crashes when simulating unaligned reads
-
Fixed the reversed head/tail length for reads from negative strand in transcriptome simulaiton
-
Added missing file in pre-trained model
NanoSim v2.5.1
To download only the source scripts, please go to url
Features
-
In this release, we provide 6 pre-trained models, including 3 RNA-seq models, which are human direct RNA, cDNA, mouse cDNA, and 3 DNA-seq models, which are human DNA dataset basecalled by 3 different basecalling algorithms. These models can be downloaded from pre-trained_models.
-
We also provide a few more homopolymer models to mimic different basecalling algorithms under different sequencing settings (direct RNA or cDNA 1D2 or cDNA 1D).
-
We implemented
-r, --read_type
in transcriptome simulation mode. Since different read type,directRNA, cDNA 1D2, or cDNA 1D
, has an effect on the homopolymer bias, users can specify which one to simulate based on.
Minor bug fixes
-
A minor bug in
detect_ir
module in the characterization stage. -
Prevents python from spawning out processes when only one processor is requested.
-
Display the correct help information for transcriptome simulation when wrong parameters are passed in.