Output files - glarue/intronIC GitHub Wiki
Output files
intronIC will automatically generate a set of output files. A brief description of the contents of each file follows (numbered lists represent the columns within each file).
Note: The meta.iic and score_info.iic files include column headers by default. Use --no-headers to omit headers if needed for compatibility with legacy pipelines.
For many use-cases, the most important files will be:
-
introns.iic- full intron sequences, with U12-type probability score in 2nd column -
bed.iic- BED file of intron coordinates, with U12-type probability score in 5th column -
meta.iic- metadata file with intron info such as parent transcript/gene, oridinal index, phase, position as % of coding sequence, etc.
annotation.iic
If putatively misannotated introns are found, intronIC will correct their coordinates by adjusting the features that define them in this file. These entries will contain a 'shift' tag that indicates the change made to either their start or stop coordinate (or both). This file is only made if misannotated introns are found (otherwise, it would be identical to the original annotation).
demoted.iic
NOTE: this option is disabled by default; see command line arguments for details
Scoring information for putative U12-type introns whose scores fell below the threshold after their boundaries were switched to GT-AG (as a check to avoid scoring non-canonical introns as U12-type by way of superficial similarities to U12-type motifs):
- label
- initial score (with five and bp scores in parentheses), followed by reduced score after boundary switching
dupe_map.iic
A mapping table of unique, scored intron labels and their corresponding duplicate intron labels:
HomSap-gene-DIAPH2@rna-NM_006729.5_23(26) HomSap-gene-DIAPH2@rna-NM_007309.4_23(26);[o:i];[i]
- scored intron label
- duplicate intron label
introns.iic
All of the annotated intron sequences, including any introns not meeting scoring criteria (e.g. too short, including non-ATCG characters in scoring regions, etc.; includes duplicate introns if run with -d):
HomSap-gene-DIAPH2@rna-NM_006729.5_23(26) 100.0 TTTCAGCTCAAATTCTCAAGAGCAACCTTGCATCAATGGAACAACAAATTGTTCATCTGGAACGTGACATCAAGAAATTCCCCCAAGCAGAAAATCAACACGATAAGTTTGTGGAAAAGATGACC ATATCCTTTATTTAT[...]TTAACAAAAAGCTAC AGCTTTACAAAGACTGCCCGAGAACAGTATGAAAAACTCTCCACCATGCACAACAACATGATGAAGCTCTATGAGAATCTTGGAGAATACTTCATTTTTGACTCAAAGACAGTGAGCATAGAAGAGTTCTTTGGTGATCTCAACAACTTCCGAACTTTGTTTTTG
- label (without score tag)
- score (or '
.' if unscored) - upstream (5′ exon) sequence (100 nt by default, configurable via
--flank-len) - intron sequence
- downstream (3′ exon) sequence (100 nt by default, configurable via
--flank-len)
bed.iic
A BED format file of intron coordinates with U12-type probability scores and labels:
NC_000023.11 97247840 97348115 HomSap-gene-DIAPH2@rna-NM_006729.5_23(26);9.999% 99.99999999997891 +
- genomic region (e.g. 'chr1')
- start coordinate (0-indexed)
- end coordinate (1-indexed)
- label (including rounded score tag)
- U12-type probability score (0-100)
- strand
Note: The BED file is not created when using sequence-only input (-q flag), as BED format requires real genomic coordinates.
log.iic
A log of all of the information generated during operation, including total number of introns processed, excluded, etc., and total number of U12-type introns identified.
pwms.iic
A FASTA file of the PWMs used, including those built from the experimental dataset (not including pseudocount values).
meta.iic
Additional metadata for each intron (ordered by increasing U12-type score):
HomSap-gene-DIAPH2@rna-NM_006729.5_23(26) 10.0 AT-AC ACC|ATATCCTTTA...TGTTCCTTAACA/ATGTTCCTTAAC...GCTAC|AGC TGATTGATTGCCTTTAAAAGGTACTGTTGAGCCA[TGTTCCTTAACA]AAAAGCTAC 100276 rna-NM_006729.5 gene-DIAPH2 23 26 86.025 0 u12 cds
- label
- relative score based upon score threshold (U2-type <= 0 < U12-type)
- terminal dinucleotides (e.g.
GT-AG,AT-AC) - motif string (5', U12/U2 BPS, 3')
- BPS location in context of 3' end
- bp_offset — branch point adenosine position relative to 3'SS (e.g. -13)
- length (bp)
- parent transcript
- parent gene
- ordinal position in transcript
- total introns in transcript
- fractional position in transcript as a percentage of the coding length, e.g. 50.0 for an intron that interrupts the coding sequence between codons 15 and 16 out of 30.
- phase (0, between codons; 1, after the first base of a codon; 2, after the second base of a codon)
- binary classification made by the classifier (
u12oru2), which may include introns of various probabilities within each class (i.e. introns labeled "u12" by the classifier may include introns with probabilities significantly lower than the specified threshold) - genomic feature used to define the intron (e.g.
cds,exon) - attributes (comma-separated tags indicating special conditions, e.g.
noncanonical,corrected,not_longest_isoform,duplicate)
score_info.iic
Various scoring information (in order of increasing score). The file includes column headers by default. As of v2.7 the file has additional columns beyond the 32 documented below; column order may vary across runs (refer to the header row in the file itself when parsing). The 32 core tab-separated columns are:
- intron label
- relative score (maximum precision); U2-type <= 0 < U12-type
- SVM-assigned U12-type probability score (0-100) (averaged across ensemble models)
- 5′ sequence used for scoring
- 5′ log-ratio score
- 5′ z-score
- U12-type branch point sequence used for scoring
- U2-type branch point sequence used for scoring
- branch point log-ratio score
- branch point z-score
- 3' sequence used for scoring
- 3' log-ratio score
- 3' z-score
- min(5'z, BPz) composite feature
- min(5'z, 3'z) composite feature
- max(5'z, BPz) composite feature
- max(5'z, 3'z) composite feature
- distance from hyperplane (raw classifier output prior to probability calibration)
- bp_offset — branch point adenosine position relative to 3'SS (negative integer, e.g. -13)
- ppt_ct — C+T fraction at positions -14 to -7 (legacy PPT metric)
- ppt_raw — PWM log-ratio for PPT region
- core_3'_raw — PWM log-ratio for core 3'SS only
- fit_u12 — summed log2(P_U12) across all three regions
- fit_u2 — summed log2(P_U2) across all three regions
- fit_u12_5' — log2(P_U12) for 5'SS region
- fit_u12_bp — log2(P_U12) for BP region
- fit_u12_3' — log2(P_U12) for 3'SS region
- min_fit_bp_3 — min(fit_u12_bp, fit_u12_3')
- ppt_longest_run — longest uninterrupted C/T run in 20 nt window near 3'SS
- ppt_t_weighted — T-weighted pyrimidine score (T=1.0, C=0.5, purine=0) in same window
- adjusted_score — post-adjustment U12-type probability (0-100). In v2.7+ this is the calling column: it is the second-pass mode-separation
svm_scoreafter the v2.7 continuous per-intron discount on the gate-pass path, or the legacy Bayesian valley-depth + ensemble-agreement adjustment (chained through the v2.7 discount) on the gate-fail path. See Technical Details - ensemble_sigma — standard deviation of per-model U12-type probabilities across the second-pass ensemble (126 sub-models in the v2.7 default; 0-100 scale). Low values indicate model consensus. Non-zero only for introns scored by the mode-separation second pass (
modesep_route == "modesep").
Additional v2.6+ columns (present when mode-separation is in effect):
first_pass_svm— first-pass cluster-aware SVM probability (0-100). Lets users compare first-pass and second-pass calls without a separate file.modesep_route—"modesep"for second-pass-scored introns;"untouched"for introns ineligible for the second pass (e.g., 5' z-score below the floor) which keep their first-pass score.
Additional v2.7+ columns (always present when mode-separation is in effect):
raw_sum— unweighted motif log-LR sum:5'_raw + bp_raw + 3'_raw.svm_vs_naive— calibration delta:logit(p_svm) − raw_sum. Drives the v2.7 overcall penalty.voting_frac— fraction of second-pass sub-models voting U12 (per-model P > 0.5). Useful as an ensemble-agreement diagnostic in addition toensemble_sigma.
Understanding the scores
SVM Score (0-100)
The primary classification score representing the probability that an intron is U12-type:
| Score Range | Interpretation |
|---|---|
| >90 | High confidence U12-type (default threshold) |
| 50-90 | Intermediate confidence |
| <50 | More likely U2-type |
| <10 | High confidence U2-type |
Relative Score
relative_score = adjusted_score - threshold
Positive values indicate the intron exceeds the high-confidence threshold; negative values fall below it. The magnitude measures distance from the threshold. Note that the binary type_id (U12/U2) is set by the raw SVM decision boundary and does not depend on the threshold.
Adjusted Score
As of v2.7 the adjusted score is produced by two layered steps:
-
Mode-separation second pass (v2.6+) — On gate-pass species, the
svm_scorecolumn is the probability emitted by the second-passv5_modesep_augensemble after per-species recalibration. On gate-fail species (U12-absent, non-bimodal, or with adversarial first-pass mode estimates), the legacy Bayesian valley-depth + ensemble-agreement adjustment is applied to first-pass scores; this produces the input to step 2 on the gate-fail path. -
Continuous per-intron discount (v2.7+) — A non-positive log-odds penalty is applied to every intron:
penalty_overcall = k_overcall × max(0, svm_vs_naive − τ_overcall), wheresvm_vs_naive = logit(p_in) − raw_sumandraw_sum = 5'_raw + bp_raw + 3'_raw. The penalty fires when the SVM overcalls relative to motif log-LR; it is zero in the healthy regime. The result is written toadjusted_score.
svm_score is preserved as the raw classifier output (for auditability); adjusted_score is the calling column.
For species with strong U12-type intron populations (human, Drosophila), the discount typically fires only on long-tail loose-or-NA introns and IPA-validated TPs are preserved. For ambiguous species the gate-fail path adds the legacy valley-depth discount before the v2.7 penalty, suppressing false positives without altering the binary classification label.
See Technical Details for the formula and parameter documentation, and docs/mode_separation.md in the repo for the full mode-separation architecture.
Raw vs Z-Scores
- Raw scores (log-odds ratios):
log₂(P(seq|U12) / P(seq|U2))— Different ranges for each region - Z-scores: Normalized for comparison — Unit variance, centered around reference distribution
See Technical Details for information on the normalization approach.
Common operations
Finding U12-type introns
# From meta.iic (using relative score)
awk '($2!="NA" && $2>0)' species.meta.iic
# From bed.iic (using SVM score)
awk '$5 > 95' species.bed.iic
# Count total U12-type introns
awk '($2!="NA" && $2>0)' species.meta.iic | wc -l
Extracting specific types
# AT-AC introns only
awk '($3 == "AT-AC")' species.meta.iic
# High-confidence U12-type AT-AC introns
awk '($2 > 5 && $3 == "AT-AC")' species.meta.iic
# U12-type introns in first half of transcript
awk '($2>0 && $12 < 50)' species.meta.iic
Converting to FASTA
# All U12-type intron sequences
awk '$2 > 90 {print ">"$1"\n"$4}' species.introns.iic > u12.fasta