跳转至

glnexus

简介

glnexus (GL, genotype likelihood)用于对大规模gvcf 进行 joint call,其由DNAnexus公司开发。官方宣称glnexus可以代替 GATK CombineGVCFsGATK GenotypeGVCFs,速度上要快很多,目前为开源软件,可以免费使用。

官网:https://github.com/dnanexus-rnd/GLnexus/

使用手册:https://github.com/dnanexus-rnd/GLnexus/wiki/Getting-Started

glnexus的输入主要为gvcf文件,支持gatk和deepvariant产生的gvcf文件。

如果是WES数据则还需要使用 --bed 选项指定bed文件,表示对指定的位置进行变异检测;如果不指定 --bed 选项,则表示对所有contig的所有位置都进行变异检测。WGS项目可以不指定 --bed 选项。

glnexus输出文件为bcf(vcf的二进制格式),为方便后续使用可以转成vcf文件。

安装

官方给了编译好的二进制版本,但由于glic版本的问题无法在centos7上运行,源码编译也比较复杂。鉴于官方给了docker镜像,因此可以pull成singularity镜像,集群上下载了该镜像文件,可直接使用。

基本使用

# 运行glnexus
$ module load Singularity/3.7.3
$ singularity exec $IMAGE/glnexus/1.4.1.sif glnexus_cli -m 500 -t 35 --bed ref.bed --config gatk ../gvcf/*gz > merge_glnexus.bcf

# 将bcf文件转成vcf文件并压缩
$ module load BCFtools/1.15.1 HTSlib/1.18
$ bcftools view dv_1000G_ALDH2.bcf | bgzip -@ 4 -c > dv_1000G_ALDH2.vcf.gz

软件选项说明:

  • --dir DIR, -d DIR 过程文件目录,如果不指定,软件默认创建目录为 ./GLnexus.DB,软件运行之前须保证该目录不能存在

  • --config X, -c X 配置文件,默认为 gatk

  • --bed FILE, -b FILE 3列的bed文件,该区间为软件分析的区间。如果不指定则表示分析所有contig的所有位置

  • --list, -l 指定放置所有gvcf文件路径的文件。如果样本数过多,可以将所有gvcf路径放在一个文件内,每行一个gvcf文件

  • --more-PL, -P include PL from reference bands and other cases omitted by default。 : 以下为ChatGPT对这个选项的解释 : 在基因分型分析中,根据默认设置可能会忽略一些情况,而这种设置可以通过开启特定的选项来纳入这些情况。具体来说,这些情况包括参考区域中的等位基因,以及由于基础质量较低或对应序列缺失而被省略的等位基因。 : 在GATK等基因组学分析工具中,PL (Phred-scaled likelihoods)是一个常用的参数,用于表示不同基因型之间的似然比较。在默认设置下,由于参考区域的基因型应该是已知的,因此通常会被省略在分析过程中,从而在分析结果中也不包括与之相关的PL信息。类似地,如果样本中的一个等位基因由于低质量或其他原因而被省略,则其PL信息也可能会被忽略。 : 如果需要考虑这些被忽略的情况,可以在基因分型分析的选项中启用“include PL from reference bands and other cases omitted by default”选项,以便保留这些信息并纳入分析结果。这个选项可能会增加计算时间和内存需求,但有助于提高分析的准确性和可靠性,特别是在处理复杂的样本集和变异情况时。

  • --squeeze, -S reduce pVCF size by suppressing detail in cells derived from reference bands

  • --trim-uncalled-alleles, -a remove alleles with no output GT calls in postprocessing。 : 以下为ChatGPT对这个选项的解释 : 在基因组学数据分析中,通常会使用 Variant Call Format (VCF) 文件来存储样本的基因型信息。在 VCF 文件中,每个位点可以有多种不同的等位基因 (alleles),而每个样本都有对应的基因型 (genotype)。 : 在一些情况下,某些基因型可能由于种种原因无法得出合理的基因型调用结果。例如,可能由于覆盖度不足、信噪比过低或其他技术问题而导致这些样本没有输出有效的基因型调用结果。在这种情况下,VCF 文件中可能会包含无输出基因型调用的等位基因信息。 : 为了减少这类无意义的信息对后续分析的影响,在后处理 (postprocessing) 阶段,可以选择从 VCF 文件中移除这些无输出基因型调用的等位基因信息。具体来说,可以通过过滤掉没有输出 GT 调用的等位基因来实现。 : GT 是基因型 (genotype) 的缩写,代表样本的两个等位基因分别来自于哪个父本。如果 VCF 文件中某个位点上的所有样本都没有输出 GT 调用结果,那么该位点对应的所有等位基因信息都可以被认为是无效的,并在后处理阶段被移除。 : 通过移除无输出 GT 调用的等位基因,可以有效减少 VCF 文件的大小,并提高后续分析的可靠性和效率。

  • --mem-gbytes X, -m X 预计能使用的内存大小,单位为GB,默认使用节点绝大多数内存容量

  • --threads X, -t X 设置线程数,默认为节点所有线程

所有支持的gvcf文件类型

NameCRC32CDescription
gatk1926883223Joint-call GATK-style gVCFs
gatk_unfiltered4039280095Merge GATK-style gVCFs with no QC filters or genotype revision
xAtlas1991666133Joint-call xAtlas gVCFs
xAtlas_unfiltered221875257Merge xAtlas gVCFs with no QC filters or genotype revision
weCall2898360729Joint-call weCall gVCFs
weCall_unfiltered4254257210Merge weCall gVCFs with no filtering or genotype revision
DeepVariant2932316105Joint call DeepVariant whole genome sequencing gVCFs
DeepVariantWGS2932316105Joint call DeepVariant whole genome sequencing gVCFs
DeepVariantWES1063427682Joint call DeepVariant whole exome sequencing gVCFs
DeepVariantWES_MED_DP2412618877Joint call DeepVariant whole exome sequencing gVCFs, populating 0/0 DP from MED_DP instead of MIN_DP
DeepVariant_unfiltered3285998180Merge DeepVariant gVCFs with no QC filters or genotype revision
Strelka2395868656[EXPERIMENTAL] Merge Strelka2 gVCFs with no QC filters or genotype revision

错误处理

  • [GLnexus] [error] Failed to bulk load into DB: Failure: One or more gVCF inputs failed validation or database loading; check log for details. Failed to read from merge_glnexus.bcf: unknown file type

    每次失败重新运行时,需要删除之前运行产生的中间文件 GLnexus.DB,如果没有删除,则会出现上述报错。

  • [GLnexus] [error] ../gvcf/AL077.g.vcf.gz Exists: sample already exists; each input gVCF should have a unique sample name (header column #10) (AL077_SM AL077 (../gvcf/AL077.g.vcf.gz))

    经检查是有2个gvcf文件使用的同一个样本导致的报错

    $ zcat AL075.g.vcf.gz |grep CHRO
    #CHROM  POS ID  REF ALT QUAL    FILTER  INFO    FORMAT  AL077_SM
    
    $ zcat AL077.g.vcf.gz |grep CHRO
    #CHROM  POS ID  REF ALT QUAL    FILTER  INFO    FORMAT  AL077_SM
    

速度测试

测试数据大约400个gvcf文件,总大小约为 600 GB。测试使用一个节点,36核,内存设置为 150 GB。运行完成时间大约为6h,最大内存使用约 310 GB,临时文件最大占用存储空间 1.1 TB。

棉花248个样本,共计约 800 GB的gvcf文件,使用smp队列50核,运行完成耗时约15h,最大内存使用约 230 GB,临时文件最大占用存储空间 2.3 TB。

本文阅读量  次
本站总访问量  次