Замедление при использовании контейнера 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 в рабочем каталоге задачи, чтобы оценить проблему с производительностью.