go-enrichment

star 0

针对马铃薯 DMv8.2、DMv8.1、DMv6.1 和 E4-63 基因组执行 GO 富集分析;智能体读取输入前 10 个非空 ID 判断基因组版本,并调用 scripts/GO_enrichment.py 完成 ID 转代表转录本、GO 富集和图表输出。

biojiayuxin By biojiayuxin schedule Updated 6/7/2026

name: go-enrichment description: 针对马铃薯 DMv8.2、DMv8.1、DMv6.1 和 E4-63 基因组执行 GO 富集分析;智能体读取输入前 10 个非空 ID 判断基因组版本,并调用 scripts/GO_enrichment.py 完成 ID 转代表转录本、GO 富集和图表输出。 version: 1.2.2 author: Potato Agent license: MIT metadata: hermes: tags: [potato, GO, enrichment, DMv8.2, DMv8.1, DMv6.1, E4-63, representative-transcript] related_skills: [gffread-export-cds-pep, transcriptome_analysis]


GO 富集分析(DMv8.2 / DMv8.1 / DMv6.1 / E4-63)

Overview

本技能用于对一组马铃薯 gene ID、代表转录本 ID 或 alternative transcript ID 执行 GO enrichment。GO 背景以代表转录本 ID为键,脚本会在内部把输入 ID 转换为代表转录本 ID 后再富集。

核心脚本:

scripts/GO_enrichment.py

固定公共数据根目录:

/mnt/data/public_data/GO_KEGG_data

输入文件和输出文件路径均由运行命令传入,不在技能中写死。

When to Use

使用本技能当用户请求:

  • GO 富集分析、GO enrichment、GO term enrichment;
  • 输入是马铃薯 gene ID、代表转录本 ID 或 alternative transcript ID;
  • 目标基因组为 DMv8.2、DMv8.1、DMv6.1 或 E4-63。

不要用于 KEGG 富集;KEGG 使用 kegg-enrichment

基因组版本判断

脚本不自动判断基因组版本。智能体在调用脚本前只读取输入文件前 10 个非空 ID,按前缀判断,并通过 --genome 显式传入。

基因组 ID 前缀 --genome 数据子目录
DMv8.2 DM8.2_ DMv8.2 DMv82
DMv8.1 DM8C DMv8.1 DMv81
DMv6.1 Soltu.DM DMv6.1 DMv61DMv6.1DMv6_1
E4-63 St_E4-63 E4-63 E4-63E4_63St_E4-63

处理规则:

  • 只匹配到一个基因组版本:继续运行;
  • 匹配到多个版本:停止,提示用户拆分输入文件;
  • 无法识别:停止,要求用户确认基因组版本或 ID 格式;
  • 不要为了判断版本扫描完整输入文件。

必需数据文件

在公共数据根目录下需要:

<genome_dir>/GO.txt                    # representative_transcript_id<TAB>GO_ID
<genome_dir>/GeneID_RepreID_AltID.tsv  # GeneID<TAB>Repre TransID<TAB>Alt TransID
shared_data/go-basic.obo

若缺失必需文件,停止并报告缺失路径,不要猜测替代文件。E4-63 的映射文件可从 E4-63.unified_ID.gff3 重新生成,详见 references/e4-63-id-mapping.md

运行流程

  1. 准备一行一个 ID 的输入文件。
  2. 根据前 10 个非空 ID 判断 GENOME
  3. 在本技能目录下运行脚本,或将 scripts/GO_enrichment.py 替换为本机解析到的脚本路径:
python3 scripts/GO_enrichment.py \
  --genome "$GENOME" \
  --input "$INPUT_IDS" \
  --output "$OUTPUT_TSV"

脚本会检查并在必要时尝试安装 Python 依赖:pandasmatplotlibnumpygoatoolsscipystatsmodels。若自动安装失败,向用户报告缺失包和安装命令。

输出

OUTPUT_TSV=results/input.GO_enrichment.tsv,则输出:

results/input.GO_enrichment.tsv
results/input.GO_enrichment.pdf
results/input.GO_enrichment.repreTransID.txt

TSV 主要列:GO_IDDescriptionNamespaceFDRp_valueEnrichment_Ratioquery_count (k)query_total (n)background_count (K)background_total (N)genes

结果汇报

完成后检查 TSV、PDF 和 .repreTransID.txt 是否生成,并向用户汇报:

  • 判断出的基因组版本;
  • 输入 ID 数;
  • 输出代表转录本 ID 数;
  • GO 背景中有注释的 query ID 数;
  • GO 结果行数;
  • FDR < 0.05 的显著 GO term 数;
  • 输出文件路径。

Common Pitfalls

  1. 把基因组判断交给脚本。 必须由智能体先判断并传入 --genome
  2. 混合多个基因组版本。 不同基因组的 GO 背景和 ID 映射不能混用。
  3. 跳过 ID 转换。 GO 背景以代表转录本为键,gene ID 不能直接用于富集。
  4. 误用 KEGG 文件。 GO 使用 GO.txtgo-basic.obo,不要使用 term2gene.txt / term2name.txt
  5. 假设代表转录本总是 .1 代表转录本以 GeneID_RepreID_AltID.tsv 为准。

Verification Checklist

  • 只读取前 10 个非空 ID 判断基因组版本。
  • 脚本调用显式传入 --genome
  • 只调用 scripts/GO_enrichment.py
  • 必需公共数据文件存在。
  • GO 富集 TSV、PDF、.repreTransID.txt 均生成。
  • 汇报显著 GO term 数和输出路径。
Install via CLI
npx skills add https://github.com/biojiayuxin/potato-agent --skill go-enrichment
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator