lncrna-regulatory-network-construction-analysis
GitHub基于本地ceRNA参考表,通过共享miRNA证据构建lncRNA-mRNA调控网络。支持从基因/lncRNA列表生成网络表及证据表,并可复用对象生成PDF可视化,不依赖表达矩阵推断。
Trigger Scenarios
Install
npx skills add aipoch/medical-research-skills --skill lncrna-regulatory-network-construction-analysis -g -y
SKILL.md
Frontmatter
{
"name": "lncrna-regulatory-network-construction-analysis",
"author": "AIPOCH",
"license": "MIT",
"description": "Use this bioinformatics data analysis skill to construct a database-driven lncRNA-mRNA regulatory network from target lncRNA and\/or gene lists by projecting shared miRNA evidence from local ceRNA reference tables. It does not infer networks from expression matrices."
}
lncRNA Regulatory Network Construction Analysis
When to Use
Use this skill when the user wants a local-database network lookup workflow rather than expression-based inference.
Typical use cases:
- Build an lncRNA-mRNA network from target genes and the bundled ceRNA reference tables
- Start from a candidate lncRNA list and retrieve linked mRNAs through shared miRNAs
- Generate an auditable lncRNA-mRNA network table plus a tripartite evidence table
- Reuse a saved database-derived network object to regenerate a PDF plot
Do not use this skill when the user asks for:
- Expression-matrix-based network inference
- Correlation analysis between lncRNAs and mRNAs
- Causal inference or regulatory-strength estimation from expression data
- Online database querying or remote API lookups
Execution Model
This is a hybrid skill.
- Read
SKILL.mdto confirm that the request is database-driven. - Use
scripts/main.Rfor actual execution. - Use
--mode analyzeto build tables and a saved.rdaobject. - Use
--mode visualizeto reuse the saved object and redraw the PDF without rebuilding the database tables. - Use
--mode fullto run both steps in one pass. - Read reference files only when more detail is needed.
- Before
--mode visualize, confirm thatoutput_dir/data/lncrna_network.rdaalready exists. - In
visualizemode, the saved.rdaobject is the required input; a missing or invalidreference_dirdoes not block plot reuse. - After execution, report the mode, output directory, key files, and either the retained network size or the surfaced skill error code.
When to Read External Files
| Situation | File to Read | Purpose |
|---|---|---|
| Need algorithm details | references/algorithm.md |
Understand the shared-miRNA projection logic |
| Need troubleshooting help | references/troubleshooting.md |
Review error codes and fixes |
| Need CLI examples or the baseline record | references/cli-guide.md |
Review installation, examples, and the recorded run |
| Need runnable demo inputs | tests/data/ |
Use the bundled target gene and lncRNA lists |
| Need actual execution | scripts/main.R |
Run the CLI workflow |
Out-of-Scope Response Pattern
If the request is expression-based rather than database-driven, do not run this skill. Respond briefly with:
This skill only projects lncRNA-mRNA links from local ceRNA reference tables using target gene and/or lncRNA lists. It does not infer networks from expression matrices or estimate causal regulatory strength. Use a different workflow for expression-based correlation or causal inference.
If the request is ambiguous between database-driven lookup and expression-based inference, ask one short clarifying question before running any command.
Agent Response Contract
For a successful run, report:
- The selected mode and why it fits the request
- The
output_dir - The key output files that were generated or reused
- The retained network size from
table/network_stats.txtwhen available - A short reminder that the result is database-driven rather than expression-inferred
For a failed run, report:
- The surfaced
SKILL_*error code - The most likely cause based on
references/troubleshooting.md - The shortest actionable next step for rerunning the workflow
Usage
Rscript scripts/main.R \
--mode full \
--target_genes ./target_genes.txt \
--target_lncrna ./target_lncrna.txt \
--mirna_dataset combined \
--lncrna_strictness High \
--min_shared_mirna 1 \
--reference_dir ./references/database \
--output_dir ./output \
--seed 42
Arguments
| Long | Type | Default | Description |
|---|---|---|---|
--mode |
character | full |
Run mode: analyze, visualize, or full |
--target_genes |
character | empty | Target gene list file or comma-separated gene list |
--target_lncrna |
character | empty | Target lncRNA list file or comma-separated lncRNA list |
--mirna_dataset |
character | combined |
miRNA-mRNA dataset: combined, starbase, mirdb, mirtarbase, starbase+mirdb, starbase+mirtarbase, or mirdb+mirtarbase |
--lncrna_strictness |
character | High |
miRNA-lncRNA strictness: Low, Median, or High |
--lncrna_freq_thresh |
integer | 0 |
Minimum lncRNA degree threshold after edge aggregation |
--min_shared_mirna |
integer | 1 |
Minimum shared miRNA count for keeping an lncRNA-mRNA edge |
--reference_dir |
character | references/database |
Local directory containing the bundled ceRNA reference tables; required for analyze and full |
--output_dir |
character | tests/output |
Output directory inside the skill root |
--plot_file |
character | lncrna_mrna_network.pdf |
PDF file name under plot/ |
--plot_title |
character | lncRNA-mRNA Regulatory Network |
Plot title |
--layout_type |
character | kk |
Plot layout: kk, fr, circle, or nicely |
--width |
double | 14 |
Plot width in inches |
--height |
double | 9 |
Plot height in inches |
--node_size_base |
double | 6 |
Base node size |
--node_size_scale |
double | 1.5 |
Node size increment per degree |
--lncrna_color |
character | #1f77b4 |
lncRNA node color |
--mrna_color |
character | #d62728 |
mRNA node color |
--seed |
integer | 42 |
Random seed |
--timeout_seconds |
integer | 0 |
Optional timeout in seconds; 0 disables it |
Input Format
Target Gene List
- Plain-text file or comma-separated list
- One gene symbol per line when using a file
Example:
TP53
BRCA1
MYC
Target lncRNA List
- Plain-text file or comma-separated list
- One lncRNA symbol per line when using a file
Example:
XIST
SNHG16
HNRNPU-AS1
At least one of --target_genes or --target_lncrna must be provided.
Output Files
| File | Description |
|---|---|
table/lncrna_mrna_edges.csv |
Projected lncRNA-mRNA network with shared-miRNA counts and labels |
table/lncrna_mirna_mrna_evidence.csv |
Tripartite evidence table with one lncRNA-miRNA-mRNA row per evidence chain |
table/lncrna_mrna_nodes.csv |
Node table with node type and degree |
table/network_stats.txt |
Network summary statistics |
data/lncrna_network.rda |
Serialized R object used by visualization mode |
plot/lncrna_mrna_network.pdf |
Projected lncRNA-mRNA network PDF |
session_info.txt |
R session and package version record |
output_manifest.txt |
Append-only manifest of generated outputs |
run_record.txt |
Append-only run history with parameters, runtime, and output summary |
Error Handling
| Error Code | Meaning | Solution |
|---|---|---|
SKILL_FILE_NOT_FOUND |
A required list file, reference file, or saved result object is missing | Check the path and rerun |
SKILL_MISSING_COLUMNS |
A required database column is absent | Validate the reference table format |
SKILL_EMPTY_DATA |
No target IDs, evidence rows, or final edges remained | Broaden the target list or relax filtering |
SKILL_INVALID_PARAMETER |
A CLI argument is missing, invalid, or unsafe | Recheck the parameter table |
SKILL_SAMPLE_MISMATCH |
Reserved for workflows expecting matched entities | Not expected in the database-only workflow |
SKILL_PACKAGE_NOT_FOUND |
Required R packages are missing | Install the packages from references/cli-guide.md |
Progressive Disclosure
- Start with
--target_genesor--target_lncrna. - Add the second target list if a more focused subnetwork is needed.
- Switch
--mirna_datasetif a different miRNA-mRNA evidence source is required. - Adjust
--lncrna_strictness,--lncrna_freq_thresh, and--min_shared_mirnato tighten or relax the projected network. - Reuse
--mode visualizeonce the.rdaobject exists.
Result Size Guidance
- Broad gene-only or lncRNA-only runs can expand quickly and may retain hundreds to thousands of edges.
- If the retained network is too large for practical review, report the edge and node totals, then increase
--min_shared_mirna, increase--lncrna_freq_thresh, or provide the complementary target list. - Start with the bundled demo inputs before moving to broader target lists.
Examples
Gene-Driven Network
Rscript scripts/main.R \
--mode full \
--target_genes ./target_genes.txt \
--reference_dir ./references/database \
--output_dir ./output
lncRNA-Driven Network
Rscript scripts/main.R \
--mode analyze \
--target_lncrna ./target_lncrna.txt \
--mirna_dataset starbase \
--lncrna_strictness Median \
--output_dir ./lncrna_only_output
Focused Bipartite Network
Rscript scripts/main.R \
--mode full \
--target_genes TP53,BRCA1,MYC \
--target_lncrna XIST,SNHG16,HNRNPU-AS1 \
--mirna_dataset combined \
--lncrna_strictness High \
--min_shared_mirna 2 \
--output_dir ./focused_output
Visualization Reuse
Rscript scripts/main.R \
--mode visualize \
--output_dir ./focused_output \
--plot_file reused_network.pdf \
--layout_type fr
For the bundled baseline and CLI notes, read references/cli-guide.md.
Testing
Rscript scripts/main.R --help
Rscript tests/run_tests.R
Rscript scripts/main.R \
--mode full \
--target_genes tests/data/target_genes.txt \
--target_lncrna tests/data/target_lncrna.txt \
--reference_dir references/database \
--output_dir tests/output \
--seed 42
Expected retained outputs after a validated run:
tests/output/table/lncrna_mrna_edges.csvtests/output/table/lncrna_mirna_mrna_evidence.csvtests/output/table/lncrna_mrna_nodes.csvtests/output/table/network_stats.txttests/output/data/lncrna_network.rdatests/output/plot/lncrna_mrna_network.pdftests/output/session_info.txttests/output/output_manifest.txttests/output/run_record.txt
Scope Limits
This skill does not infer networks from expression matrices and does not perform online queries.
If the user needs expression-based correlation or causal inference, use a different workflow.
Version History
- f5ef65b Current 2026-07-24 17:04


