Non-Coding RNA Analysis
Pipeline for identifying, annotating, and interpreting non-coding RNAs and their biological roles. Covers microRNAs (miRNAs), long non-coding RNAs (lncRNAs), and other ncRNA classes.
Key principles:
- Class determines function — miRNAs repress mRNA translation; lncRNAs have diverse mechanisms (scaffolds, guides, decoys, enhancers); rRNAs/tRNAs are structural
- Targets matter more than the ncRNA itself — for miRNAs, the regulated mRNA targets determine the phenotype
- Expression context is critical — ncRNAs are highly tissue/cell-type specific
- Conservation indicates function — deeply conserved ncRNAs (miR-let-7, MALAT1) have well-established roles
- Evidence grading — T1: validated targets (reporter assay, CLIP-seq), T2: high-confidence computational prediction, T3: expression correlation, T4: sequence-based prediction only
Type-based reasoning — look up, don't guess:
Non-coding RNA function depends on type: miRNA silences target mRNAs (look up targets in miRTarBase/TargetScan), lncRNA has diverse functions (scaffolding, guiding, decoying — check literature for the specific lncRNA), circRNA may sponge miRNAs.
For any ncRNA query: first identify the class from the name/sequence, then select the appropriate evidence source. Do not assume function based on name alone — a gene named "LINC" may have a characterized mechanism, or none at all. Always search PubMed for the specific ncRNA before interpreting. For miRNAs, validated targets (T1) from miRTarBase outweigh any computational prediction — a predicted target with no experimental support is a hypothesis, not a finding. For lncRNAs, mechanism is almost always determined by experimental studies; use PubMed_search_articles with the lncRNA name + "mechanism" or "function" to find relevant evidence. For circRNAs, miRNA sponging is the most common proposed mechanism but is frequently over-claimed — look for CLIP-seq or reporter assay evidence before asserting it.
When to Use
- "What are the targets of miR-21?"
- "Find lncRNAs associated with breast cancer"
- "Is this lncRNA conserved across species?"
- "What miRNAs regulate TP53?"
- "Annotate these non-coding RNA IDs"
- "Which miRNAs are biomarkers for [disease]?"
Not this skill: For mRNA expression analysis, use tooluniverse-rnaseq-deseq2. For CRISPR screens, use tooluniverse-crispr-screen-analysis.
Core Tools
| Tool |
Use For |
miRBase_search_mirna |
Search miRNAs by name, accession, or sequence |
miRBase_get_mirna |
Detailed miRNA info (sequence, genomic location, family) |
miRBase_get_mirna |
Mature miRNA sequences and annotations |
PubMed_search_articles |
Search for validated miRNA targets in literature (e.g., "miR-21 target validation") |
LNCipedia_search_lncrna |
Search lncRNAs by name, gene symbol, or transcript ID |
LNCipedia_get_lncrna |
Detailed lncRNA transcript info (sequence, structure, conservation) |
LNCipedia_get_lncrna_xrefs |
lncRNA gene info with all transcript variants |
LNCipedia_search_ncrna_by_type |
List all transcripts for a lncRNA gene |
LNCipedia_get_lncrna_publications |
lncRNA sequence (FASTA format) |
RNAcentral_search |
Search all ncRNA types across databases |
RNAcentral_get_by_accession |
Detailed ncRNA annotations from 40+ databases |
Rfam_get_family |
RNA family details (structure, alignment, species distribution) |
Rfam_search_sequence |
Search RNA families by keyword |
DisGeNET_search_gene |
ncRNA-disease associations |
PubMed_search_articles |
ncRNA literature |
GTEx_get_median_gene_expression |
Tissue expression of ncRNA genes |
Workflow
Phase 0: ncRNA Identity & Classification
Name/ID → miRBase/LNCipedia/RNAcentral → class, sequence, genomic location
|
Phase 1: Target & Interaction Analysis
miRNA → target mRNAs; lncRNA → interacting proteins/RNAs/chromatin
|
Phase 2: Expression & Tissue Specificity
GTEx/GEO → where is it expressed? Tissue-specific or ubiquitous?
|
Phase 3: Disease Associations
DisGeNET/PubMed/CTD → ncRNA-disease links with evidence
|
Phase 4: Functional Interpretation
Pathway enrichment of targets → biological role → clinical significance
Phase 0: ncRNA Identity & Classification
ncRNA classes by size and database:
- miRNA (~22 nt, miRBase): Post-transcriptional silencing via 3'UTR binding
- lncRNA (>200 nt, LNCipedia): Diverse — chromatin remodeling, transcription regulation, miRNA sponges
- rRNA (120-5000 nt, RNAcentral/Rfam): Ribosome components
- tRNA (~76 nt, RNAcentral): Amino acid delivery
- snoRNA (60-300 nt, Rfam): rRNA modification (methylation, pseudouridylation)
- snRNA (~150 nt, Rfam): Spliceosome components
- piRNA (26-31 nt, RNAcentral): Transposon silencing in germline
- circRNA (variable, RNAcentral): miRNA sponges, protein scaffolds (experimental evidence required)
Identification workflow:
- Name starts with
miR- or hsa-mir- → search miRBase
- Name starts with
LINC, MALAT, HOTAIR, XIST, or ends in -AS1 → search LNCipedia
- Any ncRNA type → search RNAcentral (aggregates all databases)
- RNA family question → search Rfam
Phase 1: Target & Interaction Analysis
For miRNAs — the targets determine the biology:
PRIMARY TOOL: ENCORI_get_miRNA_targets looks up miRNA-target interactions from ENCORI/starBase (CLIP-seq-supported + computationally predicted), no download needed:
- miRNA → targets:
ENCORI_get_miRNA_targets(mirna="hsa-miR-21-5p", clip_min=1) — each hit reports clip_experiments (CLIP-seq support; higher = stronger experimental evidence) and predicted_by (which programs call it). Results are ranked by CLIP support, so the top rows are the best-supported targets.
- gene → miRNAs:
ENCORI_get_miRNA_targets(gene="TP53") — which miRNAs target a gene.
Supporting/fallback approaches:
3. Literature (for mechanism/validation context): PubMed_search_articles(query="miR-21 target validation luciferase")
4. Cross-references: miRBase_get_mirna_xrefs(accession="MIMAT0000076")
5. For novel miRNAs not in ENCORI: search PubMed for "[miRNA] target".
Well-studied miRNA targets (for common oncomiRs/tumor suppressors):
- miR-21: PTEN, PDCD4, TPM1, RECK, SPRY1, SPRY2, BTG2
- miR-155: SOCS1, SHIP1, AID, TP53INP1
- miR-122: SLC7A1, ADAM17 (also HCV IRES cofactor)
- let-7: RAS, HMGA2, MYC, LIN28
Target interpretation framework:
- Validated (T1): Luciferase reporter, CLIP-seq, degradome-seq — base conclusions on these
- High-confidence prediction (T2): TargetScan conserved sites, DIANA-microT score > 0.9 — support validated findings
- Prediction only (T3-T4): miRanda, PicTar, RNA22 — hypothesis generation only; do not report as findings
For lncRNAs — the mechanism varies:
| lncRNA Mechanism |
Example |
How to Investigate |
| Chromatin modifier |
HOTAIR, XIST |
Check interacting proteins (PRC2, LSD1) via PubMed |
| Transcription regulator |
NEAT1, MEG3 |
Check nearby genes (cis-regulation) via genomic location |
| miRNA sponge |
MALAT1, circRNAs |
Search for miRNA binding sites |
| Scaffold |
NKILA, BCAR4 |
Check protein interactions |
| Enhancer RNA |
eRNAs |
Check ENCODE enhancer annotations |
Phase 2: Expression & Tissue Specificity
GTEx_get_median_gene_expression(gene_symbol="MIR21") # miRNA host gene expression
# Note: GTEx measures RNA-seq; miRNA expression may need miRNA-seq data from GEO
Interpretation: Tissue-restricted ncRNAs are often functionally important in that tissue. Ubiquitous ncRNAs (like MALAT1) tend to have housekeeping roles.
Phase 3: Disease Associations
DisGeNET_search_gene(query="MIR21") # miR-21 disease associations
PubMed_search_articles(query="miR-21 biomarker cancer")
Key ncRNA-disease associations (well-established T1 examples — always verify via DisGeNET or PubMed for the specific ncRNA):
- miR-21: OncomiR in multiple cancers; targets PTEN, PDCD4, TPM1 (hundreds of T1 studies)
- miR-155: B-cell lymphoma, inflammation — immune regulation
- miR-122: Hepatitis C liver disease — HCV replication cofactor; therapeutic target (miravirsen)
- let-7 family: Lung cancer, stem cell differentiation — tumor suppressor targeting RAS, HMGA2
- HOTAIR: Breast/colorectal cancer — recruits PRC2, promotes metastasis
- MALAT1: Lung cancer/metastasis — splicing regulation
- XIST: X-inactivation, cancer — chromatin silencing
- H19: Beckwith-Wiedemann syndrome, cancer — imprinted lncRNA, miR-675 host
- ANRIL: CVD, diabetes, cancer — CDKN2A/B locus regulation (GWAS-validated)
Phase 4: Functional Interpretation
After identifying miRNA targets (Phase 1), run pathway enrichment:
# Collect validated target gene symbols
targets = ["PTEN", "PDCD4", "TPM1", "RECK", "SPRY1"] # miR-21 targets
# Pathway enrichment
ReactomeAnalysis_pathway_enrichment(identifiers="PTEN PDCD4 TPM1 RECK SPRY1")
STRING_get_network(identifiers="PTEN\rPDCD4\rTPM1\rRECK\rSPRY1", species=9606)
Interpretation: If miR-21 targets are enriched in apoptosis and PI3K-AKT signaling → miR-21 is an oncomiR that promotes survival by simultaneously suppressing multiple tumor suppressors.
Report structure:
- ncRNA Identity — class, sequence, genomic location, conservation
- Targets/Interactions — validated targets with evidence grades
- Expression Profile — tissue specificity, disease-specific expression changes
- Disease Associations — evidence-graded disease links
- Pathway Analysis — enriched pathways among targets
- Mechanistic Model — how this ncRNA contributes to disease biology
- Clinical Potential — biomarker utility, therapeutic target potential (antagomirs, ASOs)
Limitations
Computational Procedure: TargetScan Predicted Targets (Download-and-Process)
TargetScan provides the best computational miRNA target predictions but has no REST API. Download and process locally:
# Step 1: Download TargetScan predicted targets (one-time, ~10MB zipped)
# URL: https://www.targetscan.org/vert_80/vert_80_data_download/Summary_Counts.default_predictions.txt.zip
import pandas as pd
import zipfile, io, requests
url = "https://www.targetscan.org/vert_80/vert_80_data_download/Summary_Counts.default_predictions.txt.zip"
resp = requests.get(url, timeout=60)
with zipfile.ZipFile(io.BytesIO(resp.content)) as z:
fname = z.namelist()[0]
df = pd.read_csv(z.open(fname), sep='\t')
# Step 2: Query for a specific miRNA family
mirna = "miR-21-5p" # or "miR-21/590-5p" (TargetScan uses family names)
targets = df[df['miRNA Family'].str.contains("miR-21", case=False, na=False)]
# Step 3: Rank by cumulative weighted context++ score
targets_ranked = targets.sort_values('Cumulative weighted context++ score', ascending=True)
print(f"Top 20 predicted targets of {mirna}:")
for _, row in targets_ranked.head(20).iterrows():
print(f" {row['Target Gene']:10s} score={row['Cumulative weighted context++ score']:.3f} "
f"sites={row['Total num conserved sites']}")
Interpretation: More negative context++ score = stronger predicted repression. Conserved sites (>1) are higher confidence.
Computational Procedure: miRTarBase Validated Targets (Download-and-Process)
miRTarBase has Cloudflare protection blocking programmatic access. Use the R/Bioconductor data package or bulk download:
# Option 1: Download from miRTarBase bulk export (requires browser download first)
# Go to: https://mirtarbase.cuhk.edu.cn/~miRTarBase/miRTarBase_2025/
# Download: hsa_MTI.xlsx (human miRNA-target interactions)
# Option 2: Use the GitHub data dump
# https://github.com/jorainer/mirtarbase — R package with cached data
# Once you have the file:
import pandas as pd
mti = pd.read_excel("hsa_MTI.xlsx") # or read_csv if TSV
# Filter for your miRNA
mir21_targets = mti[mti['miRNA'].str.contains('hsa-miR-21', case=False, na=False)]
print(f"miR-21 validated targets: {len(mir21_targets)}")
# Filter by evidence strength
strong = mir21_targets[mir21_targets['Support Type'].str.contains(
'Luciferase|Reporter|Western|CLIP', case=False, na=False
)]
print(f" Strong evidence (reporter/CLIP): {len(strong)}")
for _, row in strong.head(10).iterrows():
print(f" {row['Target Gene']:10s} — {row['Support Type']}")
When download is not available: Use the built-in reference table in Phase 1 for well-studied miRNAs, or search PubMed for validated targets.
Limitations
- miRNA target prediction is noisy — even the best algorithms have >50% false positive rates; always prioritize experimentally validated targets
- lncRNA function is poorly characterized — only ~5% of annotated lncRNAs have known functions
- Expression measurement varies — miRNA-seq, RNA-seq, and microarray capture different ncRNA classes; check the assay type
- Species differences — miRNAs are often conserved but lncRNAs are frequently species-specific; cross-species lncRNA comparisons are unreliable
1---2name: tooluniverse-noncoding-rna3description: Non-coding RNA analysis — miRNAs (miRBase, miRDB targets), lncRNAs (LNCipedia, RNAcentral), circRNAs, snoRNAs, and other ncRNA classes. Distinct mechanisms per class — miRNAs repress mRNA; lncRNAs scaffold/decoy/enhance. Use for ncRNA function prediction, miRNA-target prediction, lncRNA functional annotation, and ncRNA-disease association queries.4---5
6# Non-Coding RNA Analysis
7
8Pipeline for identifying, annotating, and interpreting non-coding RNAs and their biological roles. Covers microRNAs (miRNAs), long non-coding RNAs (lncRNAs), and other ncRNA classes.
9
10**Key principles**:
111. **Class determines function** — miRNAs repress mRNA translation; lncRNAs have diverse mechanisms (scaffolds, guides, decoys, enhancers); rRNAs/tRNAs are structural
122. **Targets matter more than the ncRNA itself** — for miRNAs, the regulated mRNA targets determine the phenotype
133. **Expression context is critical** — ncRNAs are highly tissue/cell-type specific
144. **Conservation indicates function** — deeply conserved ncRNAs (miR-let-7, MALAT1) have well-established roles
155. **Evidence grading** — T1: validated targets (reporter assay, CLIP-seq), T2: high-confidence computational prediction, T3: expression correlation, T4: sequence-based prediction only
16
17**Type-based reasoning — look up, don't guess**:
18Non-coding RNA function depends on type: miRNA silences target mRNAs (look up targets in miRTarBase/TargetScan), lncRNA has diverse functions (scaffolding, guiding, decoying — check literature for the specific lncRNA), circRNA may sponge miRNAs.
19
20For any ncRNA query: first identify the class from the name/sequence, then select the appropriate evidence source. Do not assume function based on name alone — a gene named "LINC" may have a characterized mechanism, or none at all. Always search PubMed for the specific ncRNA before interpreting. For miRNAs, validated targets (T1) from miRTarBase outweigh any computational prediction — a predicted target with no experimental support is a hypothesis, not a finding. For lncRNAs, mechanism is almost always determined by experimental studies; use `PubMed_search_articles` with the lncRNA name + "mechanism" or "function" to find relevant evidence. For circRNAs, miRNA sponging is the most common proposed mechanism but is frequently over-claimed — look for CLIP-seq or reporter assay evidence before asserting it.
21
22---
23
24## When to Use
25
26- "What are the targets of miR-21?"
27- "Find lncRNAs associated with breast cancer"
28- "Is this lncRNA conserved across species?"
29- "What miRNAs regulate TP53?"
30- "Annotate these non-coding RNA IDs"
31- "Which miRNAs are biomarkers for [disease]?"
32
33**Not this skill**: For mRNA expression analysis, use `tooluniverse-rnaseq-deseq2`. For CRISPR screens, use `tooluniverse-crispr-screen-analysis`.
34
35---
36
37## Core Tools
38
39| Tool | Use For |
40|------|---------|
41| `miRBase_search_mirna` | Search miRNAs by name, accession, or sequence |
42| `miRBase_get_mirna` | Detailed miRNA info (sequence, genomic location, family) |
43| `miRBase_get_mirna` | Mature miRNA sequences and annotations |
44| `PubMed_search_articles` | Search for validated miRNA targets in literature (e.g., "miR-21 target validation") |
45| `LNCipedia_search_lncrna` | Search lncRNAs by name, gene symbol, or transcript ID |
46| `LNCipedia_get_lncrna` | Detailed lncRNA transcript info (sequence, structure, conservation) |
47| `LNCipedia_get_lncrna_xrefs` | lncRNA gene info with all transcript variants |
48| `LNCipedia_search_ncrna_by_type` | List all transcripts for a lncRNA gene |
49| `LNCipedia_get_lncrna_publications` | lncRNA sequence (FASTA format) |
50| `RNAcentral_search` | Search all ncRNA types across databases |
51| `RNAcentral_get_by_accession` | Detailed ncRNA annotations from 40+ databases |
52| `Rfam_get_family` | RNA family details (structure, alignment, species distribution) |
53| `Rfam_search_sequence` | Search RNA families by keyword |
54| `DisGeNET_search_gene` | ncRNA-disease associations |
55| `PubMed_search_articles` | ncRNA literature |
56| `GTEx_get_median_gene_expression` | Tissue expression of ncRNA genes |
57
58---
59
60## Workflow
61
62```
63Phase 0: ncRNA Identity & Classification
64 Name/ID → miRBase/LNCipedia/RNAcentral → class, sequence, genomic location
65 |
66Phase 1: Target & Interaction Analysis
67 miRNA → target mRNAs; lncRNA → interacting proteins/RNAs/chromatin
68 |
69Phase 2: Expression & Tissue Specificity
70 GTEx/GEO → where is it expressed? Tissue-specific or ubiquitous?
71 |
72Phase 3: Disease Associations
73 DisGeNET/PubMed/CTD → ncRNA-disease links with evidence
74 |
75Phase 4: Functional Interpretation
76 Pathway enrichment of targets → biological role → clinical significance
77```
78
79### Phase 0: ncRNA Identity & Classification
80
81ncRNA classes by size and database:
82- **miRNA** (~22 nt, miRBase): Post-transcriptional silencing via 3'UTR binding
83- **lncRNA** (>200 nt, LNCipedia): Diverse — chromatin remodeling, transcription regulation, miRNA sponges
84- **rRNA** (120-5000 nt, RNAcentral/Rfam): Ribosome components
85- **tRNA** (~76 nt, RNAcentral): Amino acid delivery
86- **snoRNA** (60-300 nt, Rfam): rRNA modification (methylation, pseudouridylation)
87- **snRNA** (~150 nt, Rfam): Spliceosome components
88- **piRNA** (26-31 nt, RNAcentral): Transposon silencing in germline
89- **circRNA** (variable, RNAcentral): miRNA sponges, protein scaffolds (experimental evidence required)
90
91**Identification workflow**:
92- Name starts with `miR-` or `hsa-mir-` → search miRBase
93- Name starts with `LINC`, `MALAT`, `HOTAIR`, `XIST`, or ends in `-AS1` → search LNCipedia
94- Any ncRNA type → search RNAcentral (aggregates all databases)
95- RNA family question → search Rfam
96
97### Phase 1: Target & Interaction Analysis
98
99**For miRNAs** — the targets determine the biology:
100
101**PRIMARY TOOL**: `ENCORI_get_miRNA_targets` looks up miRNA-target interactions from ENCORI/starBase (CLIP-seq-supported + computationally predicted), no download needed:
102
1031. **miRNA → targets**: `ENCORI_get_miRNA_targets(mirna="hsa-miR-21-5p", clip_min=1)` — each hit reports `clip_experiments` (CLIP-seq support; higher = stronger experimental evidence) and `predicted_by` (which programs call it). Results are ranked by CLIP support, so the top rows are the best-supported targets.
1042. **gene → miRNAs**: `ENCORI_get_miRNA_targets(gene="TP53")` — which miRNAs target a gene.
105
106Supporting/fallback approaches:
1073. **Literature** (for mechanism/validation context): `PubMed_search_articles(query="miR-21 target validation luciferase")`
1084. **Cross-references**: `miRBase_get_mirna_xrefs(accession="MIMAT0000076")`
1095. **For novel miRNAs** not in ENCORI: search PubMed for "[miRNA] target".
110
111Well-studied miRNA targets (for common oncomiRs/tumor suppressors):
112- **miR-21**: PTEN, PDCD4, TPM1, RECK, SPRY1, SPRY2, BTG2
113- **miR-155**: SOCS1, SHIP1, AID, TP53INP1
114- **miR-122**: SLC7A1, ADAM17 (also HCV IRES cofactor)
115- **let-7**: RAS, HMGA2, MYC, LIN28
116
117**Target interpretation framework**:
118- **Validated** (T1): Luciferase reporter, CLIP-seq, degradome-seq — base conclusions on these
119- **High-confidence prediction** (T2): TargetScan conserved sites, DIANA-microT score > 0.9 — support validated findings
120- **Prediction only** (T3-T4): miRanda, PicTar, RNA22 — hypothesis generation only; do not report as findings
121
122**For lncRNAs** — the mechanism varies:
123
124| lncRNA Mechanism | Example | How to Investigate |
125|---|---|---|
126| **Chromatin modifier** | HOTAIR, XIST | Check interacting proteins (PRC2, LSD1) via PubMed |
127| **Transcription regulator** | NEAT1, MEG3 | Check nearby genes (cis-regulation) via genomic location |
128| **miRNA sponge** | MALAT1, circRNAs | Search for miRNA binding sites |
129| **Scaffold** | NKILA, BCAR4 | Check protein interactions |
130| **Enhancer RNA** | eRNAs | Check ENCODE enhancer annotations |
131
132### Phase 2: Expression & Tissue Specificity
133
134```python
135GTEx_get_median_gene_expression(gene_symbol="MIR21") # miRNA host gene expression
136# Note: GTEx measures RNA-seq; miRNA expression may need miRNA-seq data from GEO
137```
138
139**Interpretation**: Tissue-restricted ncRNAs are often functionally important in that tissue. Ubiquitous ncRNAs (like MALAT1) tend to have housekeeping roles.
140
141### Phase 3: Disease Associations
142
143```python
144DisGeNET_search_gene(query="MIR21") # miR-21 disease associations
145PubMed_search_articles(query="miR-21 biomarker cancer")
146```
147
148**Key ncRNA-disease associations** (well-established T1 examples — always verify via DisGeNET or PubMed for the specific ncRNA):
149- miR-21: OncomiR in multiple cancers; targets PTEN, PDCD4, TPM1 (hundreds of T1 studies)
150- miR-155: B-cell lymphoma, inflammation — immune regulation
151- miR-122: Hepatitis C liver disease — HCV replication cofactor; therapeutic target (miravirsen)
152- let-7 family: Lung cancer, stem cell differentiation — tumor suppressor targeting RAS, HMGA2
153- HOTAIR: Breast/colorectal cancer — recruits PRC2, promotes metastasis
154- MALAT1: Lung cancer/metastasis — splicing regulation
155- XIST: X-inactivation, cancer — chromatin silencing
156- H19: Beckwith-Wiedemann syndrome, cancer — imprinted lncRNA, miR-675 host
157- ANRIL: CVD, diabetes, cancer — CDKN2A/B locus regulation (GWAS-validated)
158
159### Phase 4: Functional Interpretation
160
161After identifying miRNA targets (Phase 1), run pathway enrichment:
162
163```python
164# Collect validated target gene symbols
165targets = ["PTEN", "PDCD4", "TPM1", "RECK", "SPRY1"] # miR-21 targets
166
167# Pathway enrichment
168ReactomeAnalysis_pathway_enrichment(identifiers="PTEN PDCD4 TPM1 RECK SPRY1")
169STRING_get_network(identifiers="PTEN\rPDCD4\rTPM1\rRECK\rSPRY1", species=9606)
170```
171
172**Interpretation**: If miR-21 targets are enriched in apoptosis and PI3K-AKT signaling → miR-21 is an oncomiR that promotes survival by simultaneously suppressing multiple tumor suppressors.
173
174**Report structure**:
1751. **ncRNA Identity** — class, sequence, genomic location, conservation
1762. **Targets/Interactions** — validated targets with evidence grades
1773. **Expression Profile** — tissue specificity, disease-specific expression changes
1784. **Disease Associations** — evidence-graded disease links
1795. **Pathway Analysis** — enriched pathways among targets
1806. **Mechanistic Model** — how this ncRNA contributes to disease biology
1817. **Clinical Potential** — biomarker utility, therapeutic target potential (antagomirs, ASOs)
182
183---
184
185## Limitations
186
187### Computational Procedure: TargetScan Predicted Targets (Download-and-Process)
188
189TargetScan provides the best computational miRNA target predictions but has no REST API. Download and process locally:
190
191```python
192# Step 1: Download TargetScan predicted targets (one-time, ~10MB zipped)
193# URL: https://www.targetscan.org/vert_80/vert_80_data_download/Summary_Counts.default_predictions.txt.zip
194import pandas as pd
195import zipfile, io, requests
196
197url = "https://www.targetscan.org/vert_80/vert_80_data_download/Summary_Counts.default_predictions.txt.zip"
198resp = requests.get(url, timeout=60)
199with zipfile.ZipFile(io.BytesIO(resp.content)) as z:
200 fname = z.namelist()[0]
201 df = pd.read_csv(z.open(fname), sep='\t')
202
203# Step 2: Query for a specific miRNA family
204mirna = "miR-21-5p" # or "miR-21/590-5p" (TargetScan uses family names)
205targets = df[df['miRNA Family'].str.contains("miR-21", case=False, na=False)]
206
207# Step 3: Rank by cumulative weighted context++ score
208targets_ranked = targets.sort_values('Cumulative weighted context++ score', ascending=True)
209print(f"Top 20 predicted targets of {mirna}:")
210for _, row in targets_ranked.head(20).iterrows():
211 print(f" {row['Target Gene']:10s} score={row['Cumulative weighted context++ score']:.3f} "
212 f"sites={row['Total num conserved sites']}")
213```
214
215**Interpretation**: More negative context++ score = stronger predicted repression. Conserved sites (>1) are higher confidence.
216
217### Computational Procedure: miRTarBase Validated Targets (Download-and-Process)
218
219miRTarBase has Cloudflare protection blocking programmatic access. Use the R/Bioconductor data package or bulk download:
220
221```python
222# Option 1: Download from miRTarBase bulk export (requires browser download first)
223# Go to: https://mirtarbase.cuhk.edu.cn/~miRTarBase/miRTarBase_2025/
224# Download: hsa_MTI.xlsx (human miRNA-target interactions)
225
226# Option 2: Use the GitHub data dump
227# https://github.com/jorainer/mirtarbase — R package with cached data
228
229# Once you have the file:
230import pandas as pd
231mti = pd.read_excel("hsa_MTI.xlsx") # or read_csv if TSV
232
233# Filter for your miRNA
234mir21_targets = mti[mti['miRNA'].str.contains('hsa-miR-21', case=False, na=False)]
235print(f"miR-21 validated targets: {len(mir21_targets)}")
236
237# Filter by evidence strength
238strong = mir21_targets[mir21_targets['Support Type'].str.contains(
239 'Luciferase|Reporter|Western|CLIP', case=False, na=False
240)]
241print(f" Strong evidence (reporter/CLIP): {len(strong)}")
242for _, row in strong.head(10).iterrows():
243 print(f" {row['Target Gene']:10s} — {row['Support Type']}")
244```
245
246**When download is not available**: Use the built-in reference table in Phase 1 for well-studied miRNAs, or search PubMed for validated targets.
247
248---
249
250## Limitations
251
252- **miRNA target prediction is noisy** — even the best algorithms have >50% false positive rates; always prioritize experimentally validated targets
253- **lncRNA function is poorly characterized** — only ~5% of annotated lncRNAs have known functions
254- **Expression measurement varies** — miRNA-seq, RNA-seq, and microarray capture different ncRNA classes; check the assay type
255- **Species differences** — miRNAs are often conserved but lncRNAs are frequently species-specific; cross-species lncRNA comparisons are unreliable