Я использовал bash для создания списка команд анализа, например так:
while read sample control; do echo analysis --target $sample --control $control --output /path/to/results/$sample/'$sample'_output.txt >> /path/to/commands/commands.txt ; done < sample_list.txt
Входной файл sample_list.txt выглядит следующим образом
sample_A control_A
sample_B control_B
Однако я хочу чтобы сделать что-то более сложное, где для каждой из этих команд я запускаю ее для подмножества данных, чтобы распараллелить анализ, чтобы он выполнялся быстрее. Я могу сделать это, добавив опцию '--interval-list' и предоставив подмножество общих данных для анализа. Но я не знаю, кому это сделать вместе со списком образцов эффективным способом.
Команда завершения, которую я представляю, будет выглядеть примерно так:
while read sample control regions; do echo analysis --target $sample --control $control --interval-list $regions --output /path/to/results/$sample/'$sample'_'$regions'_output.txt >> /path/to/commands/commands.txt ; done < sample_list.txt
Например, для первых двух наборов сэмплов, я бы хотел теперь иметь 20 выводимых команд вместо 2. С эти переменные:
sample_A control_A Region_1
sample_A control_A Region_2
sample_A control_A Region_3
sample_A control_A Region_4
sample_A control_A Region_5
sample_A control_A Region_6
sample_A control_A Region_7
sample_A control_A Region_8
sample_A control_A Region_9
sample_A control_A Region_10
sample_B control_B Region_1
sample_B control_B Region_2
sample_B control_B Region_3
sample_B control_B Region_4
sample_B control_B Region_5
sample_B control_B Region_6
sample_B control_B Region_7
sample_B control_B Region_8
sample_B control_B Region_9
sample_B control_B Region_10
, и пример выходной строки будет выглядеть следующим образом:
analysis --target sample_A --control control_A --interval-list Region_1 --output /path/to/results/sample_A/sample_A_Region_1_output.txt
Я мог бы просто поместить строки выше в файл sample_list.txt, но такой тип побеждает точку эффективная л oop. Я думаю, что мне нужен файл sample_list.txt и отдельный файл region.txt в качестве входных данных для переменной --interval-list, поэтому он может l oop через 10 областей для каждой строки в файле sample_list.txt, если это делает смысл. Вроде как al oop в al oop.
Но я не знаю, как вписать в него файл region.txt так, чтобы это было проще, чем выписывать все комбинации вручную.
Входные данные для файла регионов.txt будут выглядеть следующим образом:
Region_1
Region_2
Region_3
Region_4
Region_5
Region_6
Region_7
Region_8
Region_9
Region_10
Большое спасибо за любые предложения.