intronIC (intron Interrogator and Classifier)
Classify intron sequences as U12-type (minor spliceosome) or U2-type (major spliceosome). A calibrated 42-model RBF-SVM ensemble scores each intron's splice-site and branch-point motifs — background-corrected against the species' own intron pool — into a species-agnostic probability (P_motif), and a per-species adjudicator decides whether the genome carries a detectable U12-type population.
Quick Start
pip install intronIC
# Classify introns (loads default model automatically)
intronIC -g genome.fa.gz -a annotation.gff3.gz -n species_name -p 8
# Extract sequences without classification
intronIC extract -g genome.fa.gz -a annotation.gff3.gz -n species_name -p 8
# Verify installation with bundled test data
intronIC test -p 4
How It Works
Most eukaryotic introns (~99.5%) are spliced by the major (U2-type) spliceosome; a small fraction (~0.5%) are spliced by the minor (U12-type) spliceosome. U12-type introns carry a conserved TCCTTAAC branch point motif and have either AT-AC (~25%) or GT-AG (~75%) terminal dinucleotides. intronIC scores those motifs and classifies each intron.
Given a genome FASTA and a GFF/GTF annotation, intronIC runs five stages:
- Extract — pull introns from the annotation's CDS/exon coordinates (isoform handling, canonical/non-canonical terminus filters, partial-CDS handling).
- Score motifs — score each intron's 5′ splice site, branch point, and 3′ splice site against position-weight matrices built from a U12-type reference set.
- Background-correct — score against a background model built from the species' own intron pool, so a high score reflects genuine U12-type signal rather than that genome's base composition. These are the raw motif features.
- Classify — feed the raw features to a calibrated 42-model RBF-SVM ensemble → a per-intron ensemble margin →
P_motif, a single species-agnostic probability that the motif is U12-type (Platt-calibrated; also reported 0–100 asadjusted_score). - Adjudicate — at the genome level, test whether the strong U12-type calls form a real population standing above the species' own U2-type score tail (
z_excess, plus a call-strength gate) →motif_category∈ {DETECTED,INCONCLUSIVE,NOT_DETECTED,UNASSESSABLE}. An intron is labelledtype_id = u12whenP_motif ≥ 0.5and the genome is notNOT_DETECTED.
See Technical Details in the wiki for the full algorithm.
Where the Minor Things Are (WtMTA)
Where the Minor Things Are — WtMTA v2 (www.introns.info/WtMTA), a database of minor (U12-type) introns generated with intronIC v3 across ~2,600 eukaryotic genomes (~350M introns, ~1M high-confidence U12-type). Interactive species tree, splice-site logos, and bulk downloads.
Relationship to the published method (v1)
intronIC v3 keeps the PWM motif scoring of the Moyer et al. (2020) method but replaces the per-species z-normalization that made scores comparable across genomes. That normalization assumed every genome matched the human reference geometry, and failed in two ways: it under-called divergent bearers (e.g. Amborella, Oryza) and produced false positives in genomes that have lost the minor spliceosome. v3 instead scores background-corrected raw motif log-odds — six features, an ensemble of 42 SVMs trained on 97 species across 14 clades — and calibrates the output to P_motif, a species-agnostic probability. All per-species reasoning moves to one output-level adjudicator, which reports whether a genome carries a detectable U12-type population (motif_category), referenced to that genome's own U2-type background.
| v1 (Moyer 2020) | v3 (current) | |
|---|---|---|
| Features | 3 motif scores | 6 raw features (→9 with interactions) |
| Classifier | 1 human-trained SVM | 42-model ensemble, 97 species |
| Cross-species | per-species z-normalization | species-agnostic P_motif |
| Per-species logic | folded into normalization | output-level adjudicator |
For the full comparison, see Technical Details → Relationship to the published method (v1).
Key Features
- Pretrained, cross-species model loaded automatically — no per-run training or normalization step.
P_motif(0–1) /adjusted_score(0–100) per intron, plus a genome-levelmotif_categorycall.- Streaming mode (default) roughly halves peak memory on large genomes (~5.3 GB for full human at
-p 5) and is bit-identical to in-memory. - Parallel scoring via
-p N, and comprehensive per-intron metadata (phase, transcript position, parent gene/transcript).
Documentation
Full documentation lives in the intronIC Wiki:
- Quick Start — Installation, dependencies, resource usage
- Overview — Classification approach and scientific background
- Output Files — File formats and score interpretation
- Technical Details — Algorithm, features, species adjudication
- Usage Info — Complete CLI reference
- Example Usage — Common workflows
- Changelog — Release notes and version history
Citation
If you use intronIC in your research, please cite:
Moyer DC, Larue GE, Hershberger CE, Roy SW, Padgett RA. (2020) Comprehensive database and evolutionary dynamics of U12-type introns. Nucleic Acids Research 48(13):7066-7078. doi:10.1093/nar/gkaa464
Support
- intronIC Wiki — Documentation
- GitHub Issues — Bug reports
- GitHub Discussions — Questions and ideas
Contributing
See CONTRIBUTING.md for guidelines.
git clone https://github.com/glarue/intronIC.git
cd intronIC
make install # Set up development environment
make test # Run tests
License
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 intronic-3.0.0.tar.gz.
File metadata
- Download URL: intronic-3.0.0.tar.gz
- Upload date:
- Size: 94.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c1b5d27ceaeb7c4f5ebb9c7565f08498e43dc65cc7c5c7ecf04f2db4b339924
|
|
| MD5 |
836f547fdcc8e53694f03e42ea217f52
|
|
| BLAKE2b-256 |
7147c3414e573d595d0dd7b5445ef56f15dc164f212c7866f40292dfa13cce24
|
Provenance
The following attestation bundles were made for intronic-3.0.0.tar.gz:
Publisher:
publish.yml on glarue/intronIC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
intronic-3.0.0.tar.gz -
Subject digest:
8c1b5d27ceaeb7c4f5ebb9c7565f08498e43dc65cc7c5c7ecf04f2db4b339924 - Sigstore transparency entry: 2204329572
- Sigstore integration time:
-
Permalink:
glarue/intronIC@d7082f3a9399a65f421dc5a9906732371581701a -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/glarue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d7082f3a9399a65f421dc5a9906732371581701a -
Trigger Event:
release
-
Statement type:
File details
Details for the file intronic-3.0.0-py3-none-any.whl.
File metadata
- Download URL: intronic-3.0.0-py3-none-any.whl
- Upload date:
- Size: 55.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b4bd600f96103c5c821f429e201f2b3086b23698d7b1b0e853b833be5b27a0d
|
|
| MD5 |
4be17bb6580877f3a0839d6a14dd1b9a
|
|
| BLAKE2b-256 |
9b371e0022f9694ddceb8a608e2ff3e000b74fc8905a3003fecb9aec1007795a
|
Provenance
The following attestation bundles were made for intronic-3.0.0-py3-none-any.whl:
Publisher:
publish.yml on glarue/intronIC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
intronic-3.0.0-py3-none-any.whl -
Subject digest:
0b4bd600f96103c5c821f429e201f2b3086b23698d7b1b0e853b833be5b27a0d - Sigstore transparency entry: 2204329668
- Sigstore integration time:
-
Permalink:
glarue/intronIC@d7082f3a9399a65f421dc5a9906732371581701a -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/glarue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d7082f3a9399a65f421dc5a9906732371581701a -
Trigger Event:
release
-
Statement type: