To jest mój skrypt:Jak korzystać z programowania równoległego/wielowątkowości w moim skrypcie Bash?
#!/bin/bash
#script to loop through directories to merge fastq files
sourcedir=/path/to/source
destdir=/path/to/dest
for f in $sourcedir/*
do
fbase=$(basename "$f")
echo "Inside $fbase"
zcat $f/*R1*.fastq.gz | gzip > $destdir/"$fbase"_R1.fastq.gz
zcat $f/*R2*.fastq.gz | gzip > $destdir/"$fbase"_R2.fastq.gz
done
Tutaj istnieje około 30 podkatalogów w katalogu „źródła”. Każdy podkatalog ma pewne pliki: R1 .fastq.gz i R2 .fastq.gz, które chcę scalić w jeden plik R1.fastq.gz i R2.fastq.gz, a następnie zapisać scalony plik do miejsca docelowego informator. Mój kod działa dobrze, ale muszę go przyspieszyć ze względu na ilość danych. Po prostu chcę wiedzieć, czy istnieje sposób, w jaki mogę zaimplementować programowanie wielowątkowe w moim skrypcie? Jak mogę uruchomić mój skrypt, aby wiele zadań działało równolegle? Nowość w bashowaniu skryptów, więc każda pomoc będzie doceniana.
Ponieważ wyraźnie zajmujesz się bioinformatyką, powinieneś przeczytać: http://www.biostars.org/p/81359/ http://www.biostars.org/p/63816/ –