Coding

mirna-target-tools

Try it

miRNA靶基因预测与注释分析:TargetScan/miRanda预测、GO/KEGG富集、Cytoscape网络构建。

What it does

集成常用生物信息学工具,自动化执行miRNA靶基因预测分析、靶基因功能注释与富集分析,并输出可直接导入Cytoscape的网络文件,完成调控网络可视化。

The skill document

miRNA Target Tools — miRNA靶基因预测工具

Overview

集成常用生物信息学工具,自动化执行miRNA靶基因预测分析、靶基因功能注释与富集分析,并输出可直接导入Cytoscape的网络文件,完成调控网络可视化。

核心功能

1. TargetScan miRNA靶基因预测

运行TargetScan对输入miRNA序列进行靶基因预测,输出靶基因列表与评分。

使用脚本:scripts/targetscan_predict.py

2. miRanda miRNA靶标分析

运行miRanda进行miRNA-mRNA靶标结合预测,支持自由能计算和保守性分析。

使用脚本:scripts/miranda_predict.py

3. 结果整合与去重

合并多个工具预测结果,取交集提高可信度,生成基因列表。

使用脚本:scripts/merge_targets.py

4. 靶基因注释分析(新增)

对高置信度靶基因进行功能注释与富集分析:

  • 基因注释:基因符号 → Entrez ID / Ensembl ID / 功能描述(走 MyGene.info 在线 API,无需本地数据库)
  • GO/KEGG 富集:GO(BP/CC/MF)+ KEGG 通路富集(走 g:Profiler REST API,标准库实现、零第三方依赖)
  • 物种支持:human / mouse / rat / sheep(绵羊)/ goat(山羊) / cow

使用脚本:scripts/annotate_targets.py

5. 富集结果可视化

将富集结果绘制为发表级气泡图(-log10(p) vs 通路,气泡大小=基因数)。

使用脚本:scripts/plot_enrichment.py

6. Cytoscape网络文件生成

生成可直接导入Cytoscape的.sif网络文件和属性文件,用于调控网络可视化分析。

使用脚本:scripts/format_cytoscape.py

完整分析工作流

标准miRNA靶基因预测 + 注释分析 + 调控网络分析流程:

  1. 检查环境:确认TargetScan、miRanda、Python依赖已安装
  2. 输入miRNA列表/序列文件
  3. 分别用TargetScan和miRanda预测靶基因
  4. 合并结果,取交集得到高置信度靶基因
  5. 对靶基因做注释分析(基因注释 + GO/KEGG富集),并生成富集气泡图
  6. 生成Cytoscape网络文件(.sif格式)
  7. 指导用户导入Cytoscape进行可视化和聚类分析

环境检查

使用前先运行scripts/check_env.py检查工具是否已安装:

python3 ~/.openclaw/skills/miRNA-Target-Tools/scripts/check_env.py

如果工具未安装,会提示安装步骤。

输入格式

支持两种输入格式:

  • .txt文件:每行一个miRNA名称(如hsa-miR-21-5p)
  • .fa文件:FASTA格式miRNA序列文件

输出文件

靶基因预测阶段:

  • {sample}_targetscan_results.txt - TargetScan原始结果
  • {sample}_miranda_results.txt - miRanda原始结果
  • {sample}_merged_high_confidence.txt - 合并后的高置信度靶基因列表

注释分析阶段(annotate_targets.py 输出):

  • {sample}_gene_annotation.tsv - 基因注释表(symbol → Entrez/Ensembl ID + 功能描述)
  • {sample}_enrichment_all.tsv - 全部富集结果(GO:BP/CC/MF + KEGG)
  • {sample}_GO_BP.tsv / {sample}_GO_CC.tsv / {sample}_GO_MF.tsv / {sample}_KEGG.tsv - 分来源富集结果
  • {sample}_enrichment_bubble.png - 富集气泡图(plot_enrichment.py 输出)

网络构建阶段:

  • {sample}_mirna_target_network.sif - Cytoscape网络文件
  • {sample}_node_attributes.txt - 节点属性文件(可导入Cytoscape)

示例用法

靶基因预测

python targetscan_predict.py --input mirna.txt --output results/targetscan.txt
python miranda_predict.py --mirna mirna.fa --mrna 3utr.fa --output results/miranda.txt
python merge_targets.py --targetscan targetscan.txt --miranda miranda.txt --output merged.txt

靶基因注释分析(新增)

# 从合并结果中提取靶基因,做注释 + GO/KEGG 富集(山羊示例)
python annotate_targets.py --input merged.txt --gene-col TargetGene \
    --species goat --output-dir results/annotation

# 富集结果可视化(气泡图)
python plot_enrichment.py --input results/annotation/merged_enrichment_all.tsv \
    --output results/annotation/merged_bubble.png --source KEGG --top 15

网络构建

python format_cytoscape.py --input merged.txt --output network.sif --attr-output node_attributes.txt

环境依赖安装脚本

如需安装,可以使用scripts/install_dependencies.sh,支持Ubuntu/Debian和macOS。

Python依赖:

  • pandasnumpy(必需)
  • mygene(可选,仅基因注释功能需要;GO/KEGG富集为纯标准库实现,零额外依赖)
  • matplotlib(可选,仅富集气泡图需要)

Related skills

Trade crypto, manage a multi-chain wallet, and query an AI analyst from one CLI.

by lowesyang162 installs109 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván555 installs18 stars

Query Twitter/X profiles, tweets, follower events, and KOL data through the 6551 REST API.

by infra403840 installs27 stars

Adaptive web scraping in Python that bypasses anti-bot systems and scales from single requests to concurrent crawls.

by d4vinci399 installs28 stars