Почему изменение размера рейда на «max» вызывает ошибку GPT и опасно ли это?

У меня нет parallel, и я не очень понимаю, что делает ваш скрипт, поэтому я не могу проверить это. Но я верю, что это сработает, и может быть в стиле, который вы искали.

Перепишите скрипт, чтобы убрать циклы и принять аргументы :

#!/bin/bash
#parallel call SNPs with chromosomes by GATK
            (to be safe, verify that "$#" is 3)
i="$1"
o="$2"
u="$3"
            (if you want, verify that the arguments are valid)
gatk HaplotypeCaller \
          ︙       \
    -L "chr$i$o$u" \
    -O "GATK/HaplotypeCaller/HaploSample.chr$i$o$u.raw.vcf" &
 
gatk HaplotypeCaller \
          ︙       \
    -L chrUn -O GATK/HaplotypeCaller/HaploSample.chrUn.raw.vcf &
Затем запустите его следующим образом :
printf '%s\n' {1,2,3,4,5,6,7}' '{A,B,D}' '_part{1,2} | parallel -L1 (your_script)
Позвольте мне провести вас через это :
  • {1,2,3}расширяется до трех слов :1,  2 и  3.
  • {1,2,3} {A,B}расширяется до пяти слов :1,  2,  3,  A и  B.
  • {1,2,3}{A,B}расширяется до шести слов :1A,  1B,  2A,  2B,  3A и  3B.
  • {1,2,3}' '{A,B}расширяется до шести слов :1 A,  1 B,  2 A,  2 B,  3 A и  3 B. Обратите внимание, что эти «слова» содержат пробелы.
  • {1,2,3,4,5,6,7}' '{A,B,D}' '_part{1,2}расширяется до 42 (7×3×2 )слов, каждый из которых включает два пробела.
  • printf '%s\n'выводит каждое «слово» на отдельной строке. Но помните, мы говорим о «словах» с пробелами в них. В результате он печатает два или три обычных (не -пробела )слов в строке. Например,
    $ printf '%s\n' {1,2,3}' '{A,B}
    1 A
    1 B
    2 A
    2 B
    3 A
    3 B
    
    На данный момент это обычные пространства; они больше не котируются.
  • -L1указывает parallelзапустить вашу программу с данными из одной строки. Он разорвет линию на пробелы, и получить набор из трех аргументов.
1
17.05.2021, 02:04
0 ответов

Теги

Похожие вопросы