ScanExitron
A computational workflow for exitron splicing identification from RNA-Seq data.
🌟 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:
- Molecular Cell: Molecular Cell Publication
- STAR Protocols: STAR Protocols Publication
📄 License
This project is licensed under the terms of the MIT License.
📬 Contact & Support
- Bug Reports & Feature Requests: Please submit an issue on the GitHub Issues tracker.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scanexitron-1.4.0.tar.gz.
File metadata
- Download URL: scanexitron-1.4.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c8f43ce3ab0bb7170c03d58ade9408e77f7ac744cffd54666ea977bb6b8ac85
|
|
| MD5 |
7ddd9713774bada0a5c9522741728758
|
|
| BLAKE2b-256 |
aee54a565a48a8960d50c606ccfb971d0b681ee8faaa8aefea09d1682af2d5c5
|
Provenance
The following attestation bundles were made for scanexitron-1.4.0.tar.gz:
Publisher:
release.yml on ylab-hi/ScanExitron
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scanexitron-1.4.0.tar.gz -
Subject digest:
3c8f43ce3ab0bb7170c03d58ade9408e77f7ac744cffd54666ea977bb6b8ac85 - Sigstore transparency entry: 2188276671
- Sigstore integration time:
-
Permalink:
ylab-hi/ScanExitron@ddb7ca94ccb56a0b8a8f0db2b4fa60f88fd62fcb -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/ylab-hi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ddb7ca94ccb56a0b8a8f0db2b4fa60f88fd62fcb -
Trigger Event:
push
-
Statement type:
File details
Details for the file scanexitron-1.4.0-py3-none-any.whl.
File metadata
- Download URL: scanexitron-1.4.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b8312565d2c7e5e0b26b4b71b2f2920098efe33a88b58952b2e62f473629d46
|
|
| MD5 |
2d63fde9bc510093a0c548c568279337
|
|
| BLAKE2b-256 |
6017100867b7b69a10b587ec489d7eb45d2b42dd505efb65bc4fa1a87fbb212e
|
Provenance
The following attestation bundles were made for scanexitron-1.4.0-py3-none-any.whl:
Publisher:
release.yml on ylab-hi/ScanExitron
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scanexitron-1.4.0-py3-none-any.whl -
Subject digest:
8b8312565d2c7e5e0b26b4b71b2f2920098efe33a88b58952b2e62f473629d46 - Sigstore transparency entry: 2188276675
- Sigstore integration time:
-
Permalink:
ylab-hi/ScanExitron@ddb7ca94ccb56a0b8a8f0db2b4fa60f88fd62fcb -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/ylab-hi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ddb7ca94ccb56a0b8a8f0db2b4fa60f88fd62fcb -
Trigger Event:
push
-
Statement type: