【问题标题】:Snakemake on gatk VariantRecalibratorgatk VariantRecalibrator 上的 Snakemake
【发布时间】:2019-05-30 08:27:03
【问题描述】:

我是使用snakemake 的新手,在snakemake 上执行步骤gatk VariantRecalibrator 时遇到问题,它会产生错误,但如果不是snakemake 格式,脚本可以正常运行。

import snakemake.io
import os

REF="/data/data/reference/refs/ucsc.hg19.fasta"
HM="/data/data/variant_call/hapmap_3.3.hg19.sites.vcf"
OMNI="/data/data/variant_call/1000G_omni2.5.hg19.sites.vcf"
SNPS="/data/data/variant_call/1000G_phase1.snps.high_confidence.hg19.sites.vcf"
DBSNP="/data/data/variant_call/dbsnp_138.hg19.vcf"

NAME="CHS"

rule all:
  input:  "VCFs/{name}.recal.vcf".format(name=NAME),
          "VCFs/{name}.output.tranches".format(name=NAME)

rule vqsr:
  input:  vcf="VCFs/SRS008640.raw.vcf",
          ref=REF,
          hm=HM,
          omni=OMNI,
          snps=SNPS,
          dbsnp=DBSNP
  output: recal="VCFs/{name}.recal.vcf".format(name=NAME),
          tranches="VCFs/{name}.output.tranches".format(name=NAME),
          rscript="VCFs/{name}.output.plots.R".format(name=NAME)
  params: java_opts="-Xmx16g"
  shell: "gatk --java-options -Xmx16g VariantRecalibrator \
  -R {input.ref} \
  -V {input.vcf} \
  --resource:hapmap,known=false,training=true,truth=true,prior=15.0 {input.hm} \
  --resource:omni,known=false,training=true,truth=false,prior=12.0 {input.omni} \
  --resource:1000G,known=false,training=true,truth=false,prior=10.0 {input.snps} \
  --resource:dbsnp,known=true,training=false,truth=false,prior=2.0 {input.dbsnp} \
  -an QD -an MQ -an MQRankSum -an ReadPosRankSum -an FS -an SOR \
  -mode SNP \
  -O {output.recal} \
  --tranches-file {output.tranches} \
  --rscript-file {output.rscript}"

错误: 设置系统属性 GATK_STACKTRACE_ON_USER_EXCEPTION (--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true') 以打印堆栈跟踪。 [2019年5月30日星期四08:05:30] 规则 vqsr 中的错误: 工作编号:1 输出:VCFs/CHS.recal.vcf、VCFs/CHS.output.tranches、VCFs/CHS.output.plots.R

RuleException:
CalledProcessError in line 28 of /data/data/Samples/snakemake-example/WGS-test/step7.smk:
    Command ' set -euo pipefail;  gatk --java-options -Xmx16g VariantRecalibrator   -R /data/data/reference/refs/ucsc.hg19.fas ta   -V VCFs/SRS008640.raw.vcf   --resource:hapmap,known=false,training=true,truth=true,prior=15.0 /data/data/variant_call /hapmap_3.3.hg19.sites.vcf   --resource:omni,known=false,training=true,truth=false,prior=12.0 /data/data/variant_call/1000 G_omni2.5.hg19.sites.vcf   --resource:1000G,known=false,training=true,truth=false,prior=10.0 /data/data/variant_call/1000G _phase1.snps.high_confidence.hg19.sites.vcf   --resource:dbsnp,known=true,training=false,truth=false,prior=2.0 /data/data/ variant_call/dbsnp_138.hg19.vcf   -an QD -an MQ -an MQRankSum -an ReadPosRankSum -an FS -an SOR   -mode SNP   -O VCFs/CHS. recal.vcf   --tranches-file VCFs/CHS.output.tranches   --rscript-file VCFs/CHS.output.plots.R ' returned non-zero exit sta tus 2.
      File "/data/data/Samples/snakemake-example/WGS-test/step7.smk", line 28, in __rule_vqsr
      File "/root/miniconda3/envs/bioinfo/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    Removing output files of failed job vqsr since they might be corrupted:
    VCFs/CHS.recal.vcf, VCFs/CHS.output.tranches, VCFs/CHS.output.plots.R
    Shutting down, this might take some time.
    Exiting because a job execution failed. Look above for error message
    Complete log: /data/data/Samples/snakemake-example/WGS-test/.snakemake/log/2019-05-30T065011.676785.snakemake.log

如果我使用相同的代码,我可以运行以创建 recal 文件和 tranches,然后可以转到下一步 applyvqsr,但是如果我将其放入 snakemake 则会出错并且第 27 行是 gatk --java-options -Xmx16g VariantRecalibrator 是错误的,但我不知道是什么错误。请指教。

【问题讨论】:

    标签: python bioinformatics snakemake vcf-variant-call-format


    【解决方案1】:

    我建议您使用 --printshellcmds 参数运行 Snakemake。这将为您提供它在您的 shell 中运行的确切命令(而不是您在来自 python 胆量的异常中获得的命令)。您可以复制该命令并手动运行。

    让我澄清一下:Snakemake 不是按照您在shell 部分中指定的那样运行命令,而是运行一个子进程,添加其他参数并设置环境变量(两者都因外壳和操作系统而异),然后它使用 python 工具来运行应用程序。使用 --printshellcmds 参数运行 Snakemake 可以让您看到没有格式问题的命令(当所有通配符都被解析时),但没有像 set -euo pipefail; 这样的细节开销。

    【讨论】:

    • Runtime.totalMemory()=7386169344 *********************************** ************************************ 发生用户错误:无法执行 Rscript 命令:请添加Rscript 目录到您的环境 ${PATH} ****************************************** ******************************* 将系统属性 GATK_STACKTRACE_ON_USER_EXCEPTION (--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true') 设置为打印堆栈跟踪。
    • 当我手动运行命令行时,它可以创建.recal.vcf、output.plots.R和output.tranches
    • 您是否使用--printshellcmds 运行Snakemake?输出是什么?
    • 构建作业的 DAG... 作业计数:count jobs 1 all 1 vqsr 2 [Mon Jun 3 03:39:18 2019] rule vqsr: input: VCFs/SRS008640.raw.vcf, / data/data/reference/refs/ucsc.hg19.fasta, /data/data/variant_call/hapm ap_3.3.hg19.sites.vcf, /data/data/variant_call/1000G_omni2.5.hg19.sites.vcf, / data/data/variant_call/1000G _phase1.snps.high_confidence.hg19.sites.vcf, /data/data/variant_call/dbsnp_138.hg19.vcf 输出:VCFs/CHS.recal.vcf, VCFs/CHS.output.tranches, VCFs /CHS.output.plots.R jobid: 1
    • gatk --java-options -Xmx16g VariantRecalibrator -R /data/data/reference/refs/ucsc.hg19.fasta -V VCFs/S RS008640.raw.vcf --resource:hapmap,known =false,training=true,truth=true,prior=15.0 /data/data/variant_call/hapmap_3.3.hg19.sites.vcf --resource:omni,known=false,training=true,truth=false,prior =12.0 /data/data /variant_call/1000G_omni2.5.hg19.sites.vcf --resource:1000G,known=false,training=true,truth=false,prior=10.0 /data/data/variant_call/1000G_phase1.snps。 high_confidence.hg19.sites.vcf --
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 2022-11-13
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多