Snakemake на gatk

Я новичок в использовании змейки, у меня возникла проблема при выполнении шага gatk VariantRealibrator на змейке, он выдал ошибку, но скрипт может работать без ошибок, если он не в формате змейки.

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'), чтобы распечатать трассировку стека. [Чт, 30 мая, 08:05:30 2019] Ошибка в правиле 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 и транши, и могу перейти к следующему шагу applyvqsr, однако, если я поставлю его в змейку, у него будет ошибка, а строка 27 будет gatk --java-options -Xmx16g VariantRekalator. это ошибка, но я не знаю, что это за ошибка. Пожалуйста посоветуй.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
216
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я бы посоветовал запускать Snakemake с параметром --printshellcmds. Это даст вам точную команду, которую он запускает в вашей оболочке (а не ту, которую вы получаете в исключении, которое исходит из кишок python). Вы можете скопировать эту команду и запустить вручную.

Поясню: Snakemake запускает команду не так, как вы указали в разделе shell, а запускает подпроцесс, добавляет дополнительные параметры и устанавливает переменные среды (обе различаются в зависимости от оболочки и ОС), затем использует средства Python для запустить приложение. Запуск Snakemake с параметром --printshellcmds позволит вам увидеть команду без проблем с форматированием (когда разрешены все подстановочные знаки), но без лишних деталей, таких как set -euo pipefail;.

Runtime.totalMemory()=7386169344 ************************************************* ******************‌​*********** Произошла ОШИБКА ПОЛЬЗОВАТЕЛЯ: невозможно выполнить команду Rscript: добавьте каталог Rscript в свою среду ${ПУТЬ} **************************************************** ***************‌​*********** Установите системное свойство GATK_STACKTRACE_ON_USER_EXCEPTION (--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true'), чтобы распечатать трассировку стека .

Peter Chung 03.06.2019 03:50

он может создавать .recal.vcf, output.plots.R и output.tranches, когда я запускаю командную строку вручную

Peter Chung 03.06.2019 03:51

Вы запускали Snakemake с --printshellcmds? что было на выходе?

Dmitry Kuzminov 03.06.2019 04:01

Создание DAG заданий... Количество заданий: количество заданий 1 все 1 vqsr 2 [Пн, 3 июня, 03:39:18 2019] правило vqsr: ввод: 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 Идентификатор задания: 1

Peter Chung 03.06.2019 05:41

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,true =true, prior‌​=15.0 /data/data/variant_call/hapmap_3.3.hg19.sites.vcf --resource:omni,known=false, training=true,true=false, prior=‌​12.0 /data/ data /variant_call/1000G_omni2.5.hg19.sites.vcf --resource:1000G,known=false, training=true, правда=false, prior‌​= 10.0 /data/data/variant_call/1000G_phase1.snps.high_confidence.hg‌​ 19.sites.vcf --

Peter Chung 03.06.2019 05:41

ресурс:dbsnp,known=true, training=false,true=false, prior=2.0 /data/data/variant_call/dbsnp_138.hg19.vcf -an QD -an MQ -an MQRankSum -an ReadPosRankSum -an FS -an SOR -режим SNP -O VCFs/CHS.recal.vcf --tranches-file VCFs/CHS.out put.tranches --rscript-file VCFs/CHS.output.plots.R

Peter Chung 03.06.2019 05:41

[Пн, 3 июня, 03:39:18 2019] localrule all: input: VCFs/CHS.recal.vcf, VCFs/CHS.output.tranches, VCFs/CHS.output.plots.R jobid: 0 Количество заданий: количество заданий 1 all 1 vqsr 2 Это пробный запуск (флаг -n). Порядок заданий не отражает порядок выполнения.

Peter Chung 03.06.2019 05:41

Хорошо, теперь у нас есть точная команда, запущенная в оболочке. Что возвращает эта (точная) команда при запуске из оболочки?

Dmitry Kuzminov 03.06.2019 06:09

Ошибка: установите системное свойство GATK_STACKTRACE_ON_USER_EXCEPTION (--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true') для печати трассировки стека. [Чт, 30 мая, 08:05:30 2019] Ошибка в правиле vqsr: jobid: 1 вывод: VCFs/CHS.recal.vcf, VCFs/CHS.output.tranches, VCFs/CHS.output.plots.R

Peter Chung 03.06.2019 10:26

RuleException: CalledProcessError в строке 28 файла /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,true =true, prior‌​=15.0 /data/data/variant_call /hapmap_3.3.hg19.sites.vcf --resource:omni,known=false, training=true, правда=false, prior=‌​12.0 /data/data /variant_call/1000 G_omni2.5.hg19.sites.vcf --resource: 1000G, известный = ложь, обучение = правда, правда = ложь, ранее‌​= 10,0

Peter Chung 03.06.2019 10:26

/data/data/variant_call/1000G _phase1.snps.high_confidence.hg19.sites.vcf --resource:dbsnp,known=true, training=false, true=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 VCF/CHS. recal.vcf --tranches-file VCFs/CHS.output.tranches --rscript-file VCFs/CHS.output.plots.R ' вернул ненулевой статус выхода 2. File "/data/data/Samples/snakemake- пример/WGS-test/step7.smk", строка 28, в __rule_vqsr

Peter Chung 03.06.2019 10:26

Файл «/root/miniconda3/envs/bioinfo/lib/python3.6/concurrent/futu‌​res/thread.py», строка 56, выполняется удаление выходных файлов неудачного задания vqsr, поскольку они могут быть повреждены: VCFs/CHS. recal.vcf, VCFs/CHS.output.tranches, VCFs/CHS.output.plots.R Выключение может занять некоторое время. Выход из-за сбоя выполнения задания. Посмотрите сообщение об ошибке выше. Полный журнал: /data/data/Samples/snakemake-example/WGS-test/.snakemake/log‌​/2019-05-30T065011.6‌​76785.snakemake.log

Peter Chung 03.06.2019 10:26

Другие вопросы по теме