Я пытаюсь использовать параллель GNU для преобразования отдельных файлов с помощью биоинформатического инструмента под названием vcf2maf.
Моя команда выглядит примерно так:
${parallel} --link "perl ${vcf2maf} --input-vcf ${1} \
--output-maf ${maf_dir}/${2}.maf \
--tumor-id ${3} \
--tmp-dir ${vcf_dir} \
--vep-path ${vep_script} \
--vep-data ${vep_data} \
--ref-fasta ${fasta} \
--filter-vcf ${filter_vcf}" :::: ${VCF_files} ${results} ${tumor_ids}
VCF_files
, results
и tumor_ids
содержат по одной записи в строке и соответствуют друг другу.
Когда я пытаюсь запустить команду, я получаю следующую ошибку для каждого файла:
ERROR: Both input-vcf and output-maf must be defined!
Это меня смутило, потому что, если я запускаю команду вручную, программа работает так, как задумано, поэтому я не думаю, что пути ввода/вывода неверны. Чтобы подтвердить это, я также побежал
${parallel} --link "cat ${1}" :::: ${VCF_files} ${results} ${tumor_ids}
, который правильно печатает содержимое файлов VCF, путь к которым указан в VCF_files
.
Я действительно смущен, что я сделал неправильно, если кто-нибудь может мне помочь, я был бы очень благодарен!
Спасибо!