A computational workflow for exitron splicing identification from RNA-Seq data.
- 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.
This installs scanexitron along with all required external compiled tools automatically:
conda install -c bioconda scanexitronInstalls the Python package. Note: You must install the external dependencies separately (see below).
pip install scanexitrongit clone https://github.com/ylab-hi/ScanExitron.git
cd ScanExitron
pip install -e ".[dev]"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 |
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.gzRun 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 -r hg38.fa -g gencode.v37.annotation.gtf input.bam| Flag | Default | Description |
|---|---|---|
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. |
Format your exitron tabular output into a standard VCF file using exitron2vcf:
exitron2vcf -r hg38.fa -o sample.vcf sample.exitron| Flag | Default | Description |
|---|---|---|
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. |
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.
Contributions and local development setups are welcome:
# Install development and testing dependencies
pip install -e ".[dev]"
# Run test suite
pytestIf you use ScanExitron in your research, please cite our papers:
- Molecular Cell: Molecular Cell Publication
- STAR Protocols: STAR Protocols Publication
This project is licensed under the terms of the MIT License.
- Bug Reports & Feature Requests: Please submit an issue on the GitHub Issues tracker.
