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:
- Identifies somatic and germline DNA variants.
- Performs variant-aware assembly of full-length transcripts.
- Identifies RNA variants.
- Links DNA and RNA variants.
- Translates transcripts into predicted proteoforms with amino acid-level annotations of DNA and RNA variants.
- Identifies mutant peptides against a reference proteome.
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 --verboseDownload the latest release from GitHub Releases. A Docker image is also available on Docker Hub.
2. See What’s Available
exacto --helpOr 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
bindgenfor 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.