Exacto

EXacto Accurate Characterization of Transcriptomes and genOmes

Exacto is a long-read toolkit for mutant proteoform prediction. Using long-read DNA and RNA sequencing data, Exacto:

Quick Start

1. Install

conda create -n exacto python=3.10
conda activate exacto
pip install pysam==0.23.0
conda install -c conda-forge rust==1.95.0
conda install -c conda-forge clangdev=21.1.8
conda install -c anaconda pandas==2.2.3
conda install -c conda-forge polars==1.26.0
conda install -c conda-forge pyarrow==19.0.1
export LIBCLANG_PATH=$CONDA_PREFIX/lib
pip install exacto-<version>.tar.gz --verbose

Download the latest release from GitHub Releases. A Docker image is also available on Docker Hub.

2. See What’s Available

exacto --help

Or browse the Commands reference for every subcommand and its options.

3. Pipelines

Exacto supports pipelines for mutant proteoform prediction, variant-aware transcriptome assembly, and individualized genome / transcriptome graph construction. See Pipelines for more.

How Exacto is Organized

Variant-aware transcriptome assembly

cluster-rna-reads, correct-rna-reads and determine-rna-consensus turn long RNA reads into one consensus sequence per transcript; stitch-reference-transcripts restores degraded ends; quantify-rna-abundances estimates abundances.

DNA / RNA variant calling

call-germline-dna-vars and call-somatic-dna-vars call DNA variants from long-read alignments; call-rna-transcript-vars calls RNA variants and transcript structures on assembled transcripts; annotate-vars adds gene-level context.

DNA + RNA variant integration

integrate-vars links each RNA variant to the DNA variants that explain it.

Variant-aware translation

translate-transcripts translates transcripts to proteoforms that record, per amino acid, the variants they came from; translate-seqs translates plain sequences.

Mutant peptide calling

call-peptide-vars calls the mutant peptides of the proteoforms against a reference proteome.

Individualized genome / transcriptome graphs

build-genome-var-graph and build-transcriptome-var-graph produce personalized graphs that encode the sample’s variants alongside the linear reference.

Dependencies

  • python (>=3.10)
  • rust (1.95.0 tested)
  • libclang (>=9.0, build-time only — required by bindgen for the abPOA bindings)
  • numpy (>=1.22.3)
  • pandas (>=2.0.3)
  • polars (>=1.12.0)
  • pyarrow (>=18.0.0)
  • pysam (>=0.22.0)
  • pytz (>=2024.1)

License

Licensed under the Apache License, Version 2.0.