1

Я работаю над кластером титана, который состоит из 464 HP blade-систем, двух головных узлов и виртуализованного пула узлов входа (отправки). Каждый узел имеет восемь ядер (два четырехъядерных процессора) и либо 16 ГБ (430 узлов) или 32 ГБ (34 узла) памяти. Эти данные содержат 3712 вычислительных ядер и 8 ТБ общей ОЗУ (память)Выполнение параллельных заданий

Задача состоит в том, чтобы использовать 2 части, а именно R1, R2 для каждого файла образца. Каждый файл примера имеет R1, R2, представленные парами, которые должны быть используется вместе для создания файла .sam, ссылка - human_g1k_v37.fasta, а программное обеспечение - BWA.Я использую для цикла для этого, однако я не могу распараллелить его в кластере, поскольку это займет очень много времени для каждого образец для запуска по одному time.below сценария для запуска итеративного каждую пару по одному (работ)

sourcedir=/sourcepath/ 
destdir=/destinationpath/ 


for fname in *_R1.fastq.gz 
do 
base=${fname%_R1*} 
bwa-0.7.5a/bwa mem -t 8 human_g1k_v37.fasta "${base}_R1.fastq.gz" "${base}_R2.fastq.gz" > "$destdir/${base}_R1_R2.sam" 

done 

с помощью цикл будет поместить каждую работу на том же processor.I попытался с помощью «&» но это то же самое, что я считаю, и я т, кажется, не работает в этом case.I нужны все эти процессы, чтобы работать на другом процессоре параллельно (может быть работа массив ??) Ниже скрипт не работает (для параллельной обработки)

sourcedir=/sourcepath/ 
destdir=/destinationpath/ 


for fname in *_R1.fastq.gz 
do 
base=${fname%_R1*} 
bwa-0.7.5a/bwa mem -t 8 human_g1k_v37.fasta "${base}_R1.fastq.gz" "${base}_R2.fastq.gz" > "$destdir/${base}_R1_R2.sam" & 

done 
wait 

Для более подробности, пожалуйста, см. этот предыдущий пост. Looping files in bash

Благодаря

+0

увидеть, если ваш Документация 'man xargs' указывает, что она может поддерживать опцию' -n' (я думаю, n = количество процессов). И найдите здесь '[bash] xargs', чтобы узнать, как его использовать. Удачи. – shellter

+2

Вы видели это? [Запуск задания массива в кластере Titan] (http://wiki.c2b2.columbia.edu/systems/index.php/Documentation/Titan_cluster#Running_an_array_job) – ThisSuitIsBlackNot

+0

Да, я посмотрел его. Мои файлы: 51772BL1_R1.fastq.gz , 51772BL1_R2.fastq.gz для генерации одного образца. Другая пара - 51805BL1_R1.fastq.gz, 51805BL1_R2.fastq.gz для генерации других. Аналогично, существует 50 образцов, которые должны быть созданы. Поскольку для задания массива требуется SGE_TASK_ID , Я не нахожу шаблонов в этих файлах, которые могут быть использованы. Должен ли я присваивать им какие-то уникальные шаблоны? – Rgeek

ответ

2

Как насчет представления вашей работы в вашей сетке двигателя, он будет обрабатывать сам распараллеливание:

#! /bin/sh 
### Your script task.sh ### 
#$ -S /bin/sh 

bwa-0.7.5a/bwa mem -t 8 human_g1k_v37.fasta "${1}_R1.fastq.gz" "${1}_R2.fastq.gz" > "$destdir/${1}_R1_R2.sam" 

, а затем в цикле:

for fname in *_R1.fastq.gz 
do 
    base=${fname%_R1*} 
    qsub task.sh ${base} 
done 
Смежные вопросы