人工基因贯通区间注释与后果提取 - SpiralKernel/bioinfo-wiki GitHub Wiki
人工基因贯通区间注释与后果提取
更新:2026-10-14;状态:可用;验证范围:人工基因案例与实际工具输出核对;具体已测范围见正文。
用人工参考和三条转录本实际完成SnpEff构库、bedtools区间核对与按ALT提取后果。
下载和依赖
下载项目ZIP并解压,在含README.md与examples的根目录运行。进入目录见R与Python路径文件与项目组织。
基础脚本只用Python标准库;另需Java、SnpEff核心包与bedtools。先按SnpEff自建数据库与后果解析配置绝对路径SNPEFF_JAR,确认java -version和bedtools --version。以下适用Linux/macOS或WSL终端:
export SNPEFF_JAR="/你的实际绝对路径/snpEff.jar"
python3 examples/annotation_demo.py
非PATH工具用--bedtools "/你的路径/bedtools"或环境BEDTOOLS_BIN,Java可用JAVA_BIN。工具版本、代码与结果见维护记录。
固定输入与输出
examples/data/annotation/有1600bp人工参考、2个基因/3条转录本、CDS和蛋白真值、12条VCF记录(13个ALT),另有边界区间。所有输入均为人工生成,没有真实物种或功能结论。
输出为examples/output/annotation/,重复运行覆盖同名生成文件。可用--output指定新的独立目录;不要指向输入目录。脚本分build、annotate、intervals、report,只有输入及阶段校验值相符才生成报告。完整源码annotation_demo.py。
实际结果与反例
| 检查 | 预期且实际通过的结果 |
|---|---|
| 数据库序列核对 | 3条CDS、3条蛋白均OK,错误0 |
| 注释单位 | 12记录→21后果行,HIGH6行对应3个记录-ALT |
| 多ALT | multi:T是HIGH;multi:A是MODERATE |
| 转录本差异 | 325对txPlus1为missense,对txPlus2为intron |
| 负链 | 996 G>A对应c.5C>T、p.Ala2Val |
| 区间计数 | gene9对;exon11对,仅7个不同记录 |
| 并列最近 | 两个基因均距离120,保留两者 |
本模型无UTR,构库出现相应提示;标准密码、phase0和短序列是教学限制。解析器不是任意GFF/VCF通用生产工具。
配图另需Matplotlib;按R包Python包与可复现环境建立项目.venv后执行.venv/bin/python examples/plot_annotation.py,图保存到examples/output/annotation-plots。基础注释无需绘图库。

自己怎么练习
先复制输入到独立目录,再用--input-dir指向副本。把protein.fa一条蛋白改错,构库应拒绝给出验证成功;仅改输入后直接跑report也应因校验值不一致拒绝旧结果。故意失败只在练习副本和独立输出目录进行。
继续用按基因转录本与后果提取变异解释表,再运行最小注释工作流与Snakemake恢复。