Замедление при использовании контейнера Mutect2 внутри Nextflow

Я пытаюсь запустить MuTect2 на примере, который на моей машине с использованием Java занимает около 27 минут.

Если я использую практически тот же код, но внутри Nextflow и использую Docker-контейнер GATK3:3.6 для запуска Mutect, это занимает 7 минут дольше, по-видимому, без видимой причины.

Работая на Ubuntu 18.04, опухоль и нормальные образцы взяты с панели Oncomine. Опухоль 4.1G, нормальная 1.1G. Я думал, что время может быть потрачено на копирование данных в контейнер, но 7-8 минут кажется слишком долгим для этого. Может быть, от копирования в справочных файлах тоже?

bai_ch это канал, который приносит опухоль и нормальные файлы индекса

process MuTect2 {
  label 'mutect'

  stageInMode 'copy'
  publishDir './output', mode : 'copy', overwrite : true

  input:
  file tumor_bam_mu from tumor_mu
  file normal_bam_mu from normal_mu
  file "*" from bai_ch
  file mutect2_ref
  file ref_index from ref_fasta_i_m
  file ref_dict from Channel.fromPath(params.ref_fast_dict)
  file regions_file from Channel.fromPath(params.regions)
  file cosmic_vcf from Channel.fromPath(params.cosmic_vcf)
  file dbsnp_vcf from Channel.fromPath(params.dbsnp_vcf)
  file normal_vcf from Channel.fromPath(params.normal_vcf)

  output:
  file '*' into mutect_ch

  script:
  """
  ls
  echo MuTect2 task path: \$PWD
  java -jar /usr/GenomeAnalysisTK.jar \
    --analysis_type MuTect2 \
    --reference_sequence hg19.fa \
    -L designed.bed \
    --normal_panel normal_panel.vcf \
    --cosmic Cosmic.vcf \
    --dbsnp dbsnp.vcf \
    --input_file:tumor $tumor_bam_mu \
    -o mutect2.somatic.unfiltered.vcf \
    --input_file:normal $normal_bam_mu \
    --max_alt_allele_in_normal_fraction 0.1 \
    --minPruning 10 \
    --kmerSize 60
  """

}

Моя единственная мысль - создать свой собственный докер с удобными ссылочными файлами, что, вероятно, сэкономит время для их копирования? Я ожидаю, что версия nextflow+container будет работать лишь немного медленнее, чем версия CLI.

1 ответ

Проверьте оболочку задачи Bash в рабочем каталоге задачи, чтобы оценить проблему с производительностью.

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