Skip to content

Repository files navigation

isONform - Reference-free isoform reconstruction from long read sequencing data

Doing de novo transcriptome reconstruction? isONclust, isONcorrect and isONform are one workflow — isONpipe installs all three and runs them with one command.

isONform has been re-implemented in Rust (2026-09-04) and is 5-50x faster (see below).

Installation

It needs a Rust toolchain (rustup.rs), cmake and libclang.

git clone https://github.com/aljpetri/isONform.git
cd isONform/rust
cargo build --release

That produces target/release/isONform_parallel and target/release/main. Put them on your PATH and run them as shown under Running isONform. Without cmake or libclang, add --no-default-features: same output, slower.

The original python implementation is still available and is the reference this port is checked against; see INSTALL-python.md.

Rust-port versions

By default the Rust port is 5–11× faster than the python implementation on ONT data and ~50× on PacBio HiFi, at comparable accuracy, though it does not produce identical output.

--faithful reproduces the python implementation byte for byte, at about 2–3× its speed. We recommend the default (no --faithful flag).

Full comparison --- accuracy, redundancy, runtime and peak memory on seven corpora from 10 000 to 1 000 000 reads, and the aligner the two modes use --- is in Port-benchmark.md.

Running a test

test_data/sirv_sim is a small dataset for checking an installation: two clusters of 51 corrected simulated SIRV reads each.

isONform_parallel --fastq_folder test_data/sirv_sim --outfolder /tmp/isonform_test \
                  --t 4 --split_wrt_batches --iso_abundance 3

This should finish in seconds and write 7 isoforms to /tmp/isonform_test/transcriptome.fasta. See test_data/README.md if you want details on the test data.

Input data

The isONpipeline takes .fastq files generated with long-read sequencing techniques (ONT or Pacbio) as an input that additionally have been cleaned of barcodes. Please make sure that you run the isONpipeline on data that have been processed with LIMA (Pacbio data) or Pychopper (ONT data) so that all the barcodes are removed from the reads

Running isONform

To only run the isONform algorithm:

isONform_parallel --fastq_folder path/to/input/files --t <nr_cores> --outfolder /path/to/outfolder --split_wrt_batches 

Argument names, defaults, validation messages and exit codes match the python implementation, so any existing command or script works unchanged. Add --faithful to reproduce the python output byte for byte.

The full pipeline

isONpipe installs isONclust, isONcorrect and isONform and runs all three:

isONpipe install
isONpipe run --reads reads.fq --outfolder out --t 16

Outputs

IsONform outputs three main files: transcriptome.fasta, mapping.txt, and support.txt. For each isoform that isONform reconstructs the id has the following form: x_y_z.

'x' denotes the isONclust cluster that the isoform stems from. As we cluster reads as in isONcorrect in batches of 1000 reads the 'y' denotes from which batch the isoform was reconstructed. The 'z' denotes a unique identifier which enables us to have unique ids for each isoform that we reconstructed. In mapping.txt it is indicated from which original reads an isoform has been reconstructed. support_txt gives the support (i.e. how many original reads make up the isoform).

Contact

If you encounter any problems, please raise an issue on the issues page.

Credits

Please cite [1] when using isONform.

  1. Petri, A. J., & Sahlin, K. (2023). isONform: reference-free transcriptome reconstruction from Oxford Nanopore data. Bioinformatics, 39(Supplement_1), i222-i231. https://academic.oup.com/bioinformatics/article/39/Supplement_1/i222/7210488 .

Please additionally cite [2] and [3] when running the full pipeline.

  1. Kristoffer Sahlin, Paul Medvedev. De Novo Clustering of Long-Read Transcriptome Data Using a Greedy, Quality-Value Based Algorithm, Journal of Computational Biology 2020, 27:4, 472-484. Link.
  2. Sahlin, K., Medvedev, P. Error correction enables use of Oxford Nanopore technology for reference-free transcriptome analysis. Nat Commun 12, 2 (2021). https://doi.org/10.1038/s41467-020-20340-8 Link.

Releases

Packages

Used by

Contributors

Languages