Skip to main content

ScanExitron

ScanExitron Logo

A computational workflow for exitron splicing identification from RNA-Seq data.

PyPI Version Bioconda Tests Status License


🌟 Features

  • Accurate Identification: High-performance detection of exitrons (exonic introns) directly from aligned RNA-Seq reads (BAM/CRAM).
  • VCF Conversion: Built-in support to convert results into standard VCF files for downstream variant analysis.
  • Bioconda Support: Easy deployment along with all underlying command-line dependencies.

🚀 Installation

Option 1: Via Bioconda (Recommended)

This installs scanexitron along with all required external compiled tools automatically:

conda install -c bioconda scanexitron

Option 2: Via PyPI

Installs the Python package. Note: You must install the external dependencies separately (see below).

pip install scanexitron

Option 3: From Source

git clone https://github.com/ylab-hi/ScanExitron.git
cd ScanExitron
pip install -e ".[dev]"

🛠️ External Dependencies

If you did not install via conda, make sure the following bioinformatics tools are installed and available on your system PATH:

Dependency Required Version Conda Install Command
🛠️ regtools 0.5.0 conda install -c bioconda regtools=0.5.0
🧬 samtools ≥ 1.10 conda install -c bioconda samtools
🗃️ bedtools ≥ 2.26 conda install -c bioconda bedtools

📂 Reference Data Setup

Download your genome FASTA and matching transcript annotation files. For example, to setup hg38 reference resources:

# Download and decompress the hg38 genome
wget https://hgdownload.cse.ucsc.edu/goldenpath/hg38/bigZips/hg38.fa.gz
gunzip hg38.fa.gz

# Download and decompress the Gencode release annotation
wget ftp://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_37/gencode.v37.annotation.gtf.gz
gunzip gencode.v37.annotation.gtf.gz

💻 Usage

🔍 1. Exitron Calling

Run scanexitron by pointing it to your reference FASTA, transcript annotation GTF, and the input BAM/CRAM file (which must have a .bai/.crai index file alongside it):

scanexitron run -i input.bam -r hg38.fa -g gencode.v37.annotation.gtf

Calling Options

Flag Default Description
-i, --input Required Path to the input BAM/CRAM file.
-r, --ref Required Path to the reference genome FASTA file.
-g, --gtf Required Path to the annotation GTF file.
-a, --ao 3 Minimum junction-spanning reads supporting the exitron.
-p, --pso 0.05 Minimum Percent Spliced Out (PSO) value.
-m, --mapq 50 Minimum mapping quality for alignment filtering.
-s, --strand 1 Strand specificity: 0 = unstranded, 1 = first-strand/RF, 2 = second-strand/FR.
-t, --threads 1 Number of threads to allocate for samtools.
-o, --output Input Stem Output prefix.
--verbose Off Enable verbose logging for debugging.

🔄 2. Convert to VCF

Format your exitron tabular output into a standard VCF file using scanexitron convert:

scanexitron convert -i sample.exitron -r hg38.fa -o sample.vcf

VCF Converter Options

Flag Default Description
-i, --input Required Path to the input tabular results (.exitron file).
-r, --ref Required Path to the reference genome FASTA file.
-o, --output output.vcf Path for the output VCF file.

📊 Output Format

Results are written to <input>.exitron as a tab-delimited file with the following schema:

Column Type Description
chrom String Chromosome name
start Integer Start position (0-based, half-open)
end Integer End position (0-based, half-open)
name String Junction identifier
ao Integer Number of supporting junction reads
strand String Genomic strand (+ or -)
gene_symbol String HGNC gene symbol
length Integer Exitron length in base pairs
splice_site String Donor–acceptor dinucleotides (e.g., GT-AG)
gene_id String Ensembl gene ID
pso Float Percent Spliced Out (relative exitron abundance)
psi Float Percent Spliced In
dp Float Average local sequencing depth
total_junctions Integer Total junction-spanning reads detected in the sample

Note: RegTools intermediate files (<input>.janno) are preserved in the directory for manual inspection.


👩‍💻 Development

Contributions and local development setups are welcome:

# Install development and testing dependencies
pip install -e ".[dev]"

# Run test suite
pytest

📖 Citation

If you use ScanExitron in your research, please cite our papers:


📄 License

This project is licensed under the terms of the MIT License.


📬 Contact & Support

Metadata

Release files for scanexitron 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scanexitron 1.4.0
File Size Uploaded Provenance Actions
scanexitron-1.4.0.tar.gz 12.0 kB With provenance Details for scanexitron-1.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scanexitron 1.4.0
File Interpreter ABI Platform Actions
scanexitron-1.4.0-py3-none-any.whl Python 3 none any Details for scanexitron-1.4.0-py3-none-any.whl

Total release size: 26.1 kB

Release files / scanexitron-1.4.0.tar.gz

Download URL scanexitron-1.4.0.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3c8f43ce3ab0bb7170c03d58ade9408e77f7ac744cffd54666ea977bb6b8ac85
BLAKE2b-256 checksum
How to use checksums
aee54a565a48a8960d50c606ccfb971d0b681ee8faaa8aefea09d1682af2d5c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.

Transparency log

Release files / scanexitron-1.4.0-py3-none-any.whl

Download URL scanexitron-1.4.0-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b8312565d2c7e5e0b26b4b71b2f2920098efe33a88b58952b2e62f473629d46
BLAKE2b-256 checksum
How to use checksums
6017100867b7b69a10b587ec489d7eb45d2b42dd505efb65bc4fa1a87fbb212e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.

Transparency log

Security for scanexitron 1.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for scanexitron-1.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page