You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snakemake中使用非Ensembl的自定义参考基因组?

自定义参考基因组适配rna-seq-kallisto-sleuth工作流的配置方法

完全可行,但不能直接沿用原配置里的Ensembl相关参数,需要替换为自定义参考文件路径,并调整部分工作流规则,具体操作如下:

1. 修改config.yaml的ref配置段

原配置里的species、release、build这些依赖Ensembl的参数可以直接注释或删除,换成你本地的转录组FASTA和注释GTF路径,同时调整代表转录本的选择策略。示例配置如下:

ref:
  # 本地自定义转录组FASTA文件的绝对/相对路径
  transcriptome_fasta: "/lab/data/your_species/transcriptome.fa"
  # 本地自定义基因注释GTF文件的绝对/相对路径
  annotation_gtf: "/lab/data/your_species/annotation.gtf"
  # 如果需要做可变剪接的结构域注释,保留PFAM版本;不需要可注释
  pfam: "33.0"
  # 代表转录本选择:优先用你实验室定义的首选转录本ID列表文件;没有的话选mostsignificant
  representative_transcripts: "/lab/data/your_species/representative_transcripts.txt"
ontology:
  gene_ontology: "http://current.geneontology.org/ontology/go-basic.obo"

⚠️ 关键注意点:转录组FASTA里的序列ID必须和GTF文件中的transcript_id完全一致,否则kallisto定量会出现关联错误。

2. 调整工作流的参考处理规则

原工作流默认从Ensembl自动下载参考文件,需要做以下调整:

  • 找到工作流中负责下载Ensembl参考的规则(通常命名含download_ref),将其禁用(比如在规则前加#注释)。
  • 确保工作流能基于你提供的转录组FASTA生成kallisto索引:如果工作流已有相关规则,只需保证transcriptome_fasta路径配置正确即可自动触发;如果没有,手动添加如下规则到Snakefile中:
rule build_kallisto_index:
  input:
    fasta = config["ref"]["transcriptome_fasta"]
  output:
    index = "results/ref/kallisto/index.idx"
  shell:
    "kallisto index -i {output.index} {input.fasta}"
  • 检查后续kallisto定量规则的输入索引路径,确保指向你生成的自定义索引,而非原Ensembl路径。

3. 注释信息适配

  • 你的GTF文件必须包含gene_id、transcript_id、gene_name等核心注释字段,否则sleuth的差异分析无法正确关联转录本与基因。
  • 如果需要GO富集分析,要么你的注释文件已包含GO term,要么准备好基因与GO term的映射文件,替换工作流中默认从Ensembl获取注释的步骤。

内容的提问来源于stack exchange,提问作者Mae Berlow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:50:37