Skip to content

Releases: bcgsc/NanoSim

v2.5.0

23 Dec 23:35
5f8d7f9
Compare
Choose a tag to compare

In this release, we implemented a few new features and resolved a few bugs.

New features:

  1. Multiprocessing in the simulation stage. Based on our experience, 4 to 12 processers balance well between runtime and memory usage for simulating 1 million reads. The memory increases roughly linearly due to the nature of Python multiprocessing. As a rough estimate, it takes less than 5G memory to simulate human transcriptome with 4 processers.

  2. Homopolymer simulation. For this parameter, we provide three options, each targeting each basecaller: Albacore, Guppy, and Guppy + flipflop model

  3. Simulate aligned reads first, and then unaligned reads. These two types of reads are stored in separate files for better user experience.

Bug fixes:

  1. Fixed retained intron / deleted exon problem in error calculation

  2. Fixed index out of range bug in the simulation stage

Simulating transcriptome ONT reads

18 Jul 21:51
Compare
Choose a tag to compare
Pre-release

This is a pre-release version which is now capable of simulating both genomic and transcriptomic (cDNA and directRNA) ONT reads with even increased performance. Users may run the pipeline in "genome" or "transcriptome" mode. The transcriptome mode also models features of the library preparation protocols used, including intron retention events in cDNA and direct RNA reads. Further, it profiles transcript expression patterns.

We provided a very comprehensive README file for more information on how to run the pipeline in both modes.

Users who may have tried Trans-NanoSim before, can now rely on this version to simulate transcriptome ONT reads.

Major updates since pre-release v2.3-beta:

  1. Added an optional flag (--uracil) to convert the thymine (T) bases to uracil (U) in the output fasta format. It is helpful if you are dealing with direct RNA reads.
  2. Fixed a bug related to input file requirements when you use (--no_model_ir). Refer here: #63
  3. Increased simulation speed substantially when IR modelling is not set (--no_model_ir). It performs 5-folds faster now. We also removed some redundant and unnecessary code lines to improve the overall performance of the pipeline.
  4. As for "Perfect" reads (--perfect), we are now considering expression profiles when simulating them. Therefore your "perfect" error-free reads are going to follow your desired expression levels as well.

Please keep using the pipeline and share your thoughts on it. Cheers!

Simulating transcriptome ONT reads

17 Jun 23:31
6f44514
Compare
Choose a tag to compare
Pre-release

NOTE: Please do not use this release as it has an input requirement bug.

This is a pre-release version which is now capable of simulating both genomic and transcriptomic (cDNA and directRNA) ONT reads with even increased performance. Users may run the pipeline in "genome" or "transcriptome" mode. The transcriptome mode also models features of the library preparation protocols used, including intron retention events in cDNA and direct RNA reads. Further, it profiles transcript expression patterns.

We provided a very comprehensive README file for more information on how to run the pipeline in both modes.

Users who may have tried Trans-NanoSim before, can now rely on this version to simulate transcriptome ONT reads.

This version has been tested on Python 2.7 and Python 3.6 with the latest compatible packages respectively.

V2.2.1-beta

17 Jan 19:27
Compare
Choose a tag to compare
V2.2.1-beta Pre-release
Pre-release

Bug fix:

Fixed the bug that might generate negative read length when using the log-normal distribution for simulation.

V2.2.0

04 Dec 22:32
b3b8578
Compare
Choose a tag to compare

This version has been tested on Python 2.7 and Python 3.6 with the latest compatible packages repectively. In this release, we made a few big changes, and the pre-trained model profiles on our ftp site are not compatible anymore, but users are still welcome to use the fasta files for training. We will provide pre-trained models soon.

Major changes:

  1. Use Kernel Density Estimation (KDE) instead of Empirical cumulative density function (ECDF) to simulate the length distribution of reads (aligned and unaligned)
  2. Removed the bining strategy in simulating the align ratio on each reads, and the length distribution of simulated reads are more smooth
  3. Introduce --median_len and --sd_len options. Users can use these two options to control the median read length and the standard deviation, and the read lengths will follow lognormal distribution instead of the empirical length distribution from training reads

Note:

For ONT reads, the median length and mean length are quite different. The read length generally follow lognormal distribution, so please refer to wikipedia for details about these two parameters. The values are --median_len 5642 and --sd_len 1.015 for R9 1D reads, which is also roughly the same for other libraries.

V2.1.0

24 May 00:24
afad587
Compare
Choose a tag to compare

Changes:

  1. The model fitting stage is run in Python now and supports multiprocessing. R is no longer required for the whole NanoSim pipeline

  2. Improvement on runtime in model fitting stage

Notice:
We noticed that the proposed mixture model may not be well fitted for indels inferred from minimap2 and NanoSim will throw out warnings when it does not fit well. Users can still use the best available parameters to simulate, and the overall error rate will not be hugely affected.

We are working on new models for minimap2, stay tuned.

NanoSim v2.0.0

27 Apr 00:15
Compare
Choose a tag to compare

Major changes:

Added -a option to specify the aligner, Minimap2 or LAST. Minimap2 is used as the default aligner in read analysis stage. Users can also feed in their own maf file or sam file (with MD string).

HTSeq is used to parse alignment files.

Tested on Python 2.7 and Python3.6

v1.3.0

16 Mar 20:11
8e317bf
Compare
Choose a tag to compare

Bug fixes:

Handels lowercase bases in reference genome

New features:

  1. Outputs a separate file containing mismatch rate, insertion rate, and deletion rate
  2. Introducing random seed generator as a parameter that users can generate two identical outputs.

NanoSim v1.2.0

18 Jul 17:23
Compare
Choose a tag to compare

Speed improvement:

  1. reading in reference genome, useful when simulating large genomes (human).

  2. converting ambiguous bases

v1.1.0

31 Mar 23:02
Compare
Choose a tag to compare

Bug fix:

  1. For multi-chromosome genomes, total length of each read is fixed to be smaller than the largest chromosome
  2. head/tail unassigned in extreme cases

Compatibility:
Thanks to @karel-brinda NanoSim works now with Python 2.6, 2.7, 3.2, 3.3., 3.4, 3.5 and 3.6