Reproducible, dry-only analysis code for the study:
Subcellular localization of human long non-coding RNAs is an isoform-resolved property masked by gene-level analysis Hidenori Tani (Yokohama University of Pharmacy)
Subcellular localization is the strongest functional prior for a lncRNA, but is almost always annotated at the gene level. Using tissue-specific dominant-isoform switch calls (GTEx long-read) and isoform-level localization measured directly from ENCODE subcellular fractionation RNA-seq (15 human cell lines), this study shows that lncRNA localization is an isoform-resolved property that gene-level analysis systematically misrepresents.
Key findings (all generated by the pipeline into key_numbers.json):
- Blind spot (core, robust): of 163 switching lncRNA genes with both tissue-dominant isoforms localized, 55% have isoforms in both compartments; gene-level CN-RCI masks the split in 28% of genes (19% under an abundance-aware definition; 24% within-sample). The "span-both" fraction remains 26–38% under the strictest localization-confidence filters (i.e., not a noise artefact).
- Honest negative 1: tissue isoform switching does not place dominant isoforms in opposite compartments more than a dominance-matched permutation null (observed = expected = 33%) — switching is compartment-agnostic. (The dominant-isoform null is degenerate, so no enrichment p is claimed; reported descriptively.)
- Honest negative 2: the compartment differences are not explained by Alu content overall (length-matched permutation p = 0.93); Alu contributes only among the minority of Alu-bearing pairs (p = 0.019).
- Robustness: isoform CN-RCI is reproduced by an independent total RNA-seq protocol (Spearman ρ = 0.73; 80% sign agreement) and by an independent quantifier (kallisto vs RSEM, ρ = 0.83), arguing against a quantification artefact.
Conclusion: isoform-resolved localization should replace gene-level values as the functional prior for lncRNA biology.
- GTEx v8 long-read transcriptomes (reused dominant-isoform switch calls; GENCODE v26)
- ENCODE subcellular fractionation RNA-seq (RSEM transcript quantifications, GENCODE V29); accessions in
data/raw/encode_manifest.tsv - GENCODE v26 lncRNA annotation (GTF + transcript FASTA)
- UCSC RepeatMasker (hg38) Alu intervals
The processed result tables (data/processed/) and the ENCODE accession manifest (data/raw/encode_manifest.tsv) are included so every reported number is reproducible without re-downloading. The bulk raw quantification files (~5 GB) are not tracked; the manifest and scripts re-fetch them.
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
# Phase 0-1: data
.venv/bin/python scripts/01_setup_data.py # import reused switch calls
.venv/bin/python scripts/02_fetch_encode.py # enumerate ENCODE fractionation files -> manifest
.venv/bin/python scripts/02_fetch_encode.py --download # download RSEM transcript quantifications
.venv/bin/python scripts/03_build_localization_map.py # isoform CN-RCI map (RSEM-only)
# Phase 1.5: feasibility gate
.venv/bin/python scripts/04_feasibility_gate.py
# Phase 2-5: analysis
.venv/bin/python scripts/05_compartment_analysis.py # delta-RCI, classification, permutation null
.venv/bin/python scripts/06_blindspot.py # gene-level masking
.venv/bin/python scripts/07_mechanism.py # Alu content (needs UCSC rmsk.txt.gz in data/raw/)
.venv/bin/python scripts/08_case_studies.py
# Phase 6: figures
.venv/bin/python scripts/09_make_figures.py
# tests
.venv/bin/python -m pytest -qcswitch/— unit-tested pure functions (CN-RCI, ΔRCI/classification/permutation, blind-spot, Alu, key_numbers)scripts/— orchestration (data acquisition + analysis + figures + graphical abstract)tests/— pytest unit tests forcswitch/manuscript/manuscript.md— the paperfigures/— figures 1–6 + graphical abstract (generated)data/processed/— result tables (included)key_numbers.json— single source of truth for every reported number
Code and processed tables: MIT (see LICENSE). Primary data belong to GTEx, ENCODE, GENCODE and UCSC under their respective terms.