Description

侃大山,随便聊聊。有啥新奇特的Idea都可以分享。

By wuzhenzhen, 31 December, 2025

# 报错详细信息

A USER ERROR has occurred: An index is required but was not found for file drivingVariantFile:/home/Raw_data_20250821/Rmolle_callsnp_work/Rmolle_all_results/8snp_index_filter/SNP.raw.chr14.401.vcf.gz. Support for unindexed block-compressed files has been temporarily disabled. Try running IndexFeatureFile on the input.

# 解决

  • 该错误表明正在处理的 .vcf.gz压缩VCF文件缺少索引文件(通常为 .tbi或 .csi),而GATK要求必须提供索引才能读取压缩的块文件(block-compressed files)。
  • 首先,确定是否未将索引文件一起复制到工作目录中,如果是该情况,复制后则解决。
  • 如果不生效或者没有索引文件,则按照以下步骤重新生成:

By wuzhenzhen, 31 December, 2025

01 需要准备的文件

  1. gff文件(如果有的话,最好是gtf文件,gtf文件格式更严谨)
  2. 基因组文件
  3. vcf文件

02  利用annovar进行SNP注释

(1)准备基因组文件构建数据库

  • 下载gffread:将gff文件转化为gtf文件

    # 版本为为gffread v0.12.8
    git clone https://github.com/gpertea/gffread
    cd gffread
    make release
  • 将gff文件转换为gtf文件

    # gff转换为gtf
    gffread Rmolle_genomic_GCA_025413875.1.gff -T -o Rmolle.gtf
  • 将gtf文件转成refGene格式

By wuzhenzhen, 31 December, 2025

 01 将分染色体的vcf文件合并成全基因组vcf文件

1. 首先,生成vcf列表文件:

ls INDEL.raw.chr*.vcf.gz > INDEX_raw_all_vcf.list
ls SNP.raw.chr*.vcf.gz > SNP_raw_all_vcf.list
# 如果有叶绿体等染色体,手动删除

2.  使用gatk合并vcf文件

gatk \
  --java-options "-Xmx10g -Djava.io.tmpdir=./tmp" \
  MergeVcfs \
  -I raw_vcf.list \
  -O all.merge_raw.vcf

02 过滤变异

gatk官网在2025年更新了Hard Filter的标准,选择最新的标准进行筛选:

By wuzhenzhen, 30 November, 2025

# 生成单个样本的gVCF文件

# HaplotypeCaller最多可以设置4个线程,由于Java限制再增加也没有用 
gatk --java-options "-Xmx10g -XX:ParallelGCThreads=4" HaplotypeCaller -R genome.fasta -I sample1.pe.sort.markdup.bam -ERC GVCF -O sample1.g.vcf.gz

# 利用gatk生成每个样本的gVCF文件时,报错

  • 具体的报错信息: