Я хотел бы объединить несколько файлов fastq.gz с одинаковыми именами в разных папках в Google-Cloud. У меня в общей сложности 15 пациентов. У каждого пациента есть парные данные «R1» и «R2». Каждый R1 и R2 разделены на 4 файла. Размер каждого файла составляет приблизительно 28 ГБ.
Моя цель - объединить 4 файла для получения полных файлов fastq.gz R1 и R2 для каждого пациента.
Я никогда не работал сGoogle-Cloud до.
Вот как папки и файлы находятся в корзине (пример с 2 пациентами):
gs://bucketID
/folder1
/folder001
Patient1_R1.fastq.gz
Patient1_R2.fastq.gz
/folder002
Patient2_R1.fastq.gz
Patient2_R2.fastq.gz
etc.
/folder2
/folder003
Patient1_R1.fastq.gz
Patient1_R2.fastq.gz
/folder004
Patient2_R1.fastq.gz
Patient2_R2.fastq.gz
etc.
/folder3
/folder005
Patient1_R1.fastq.gz
Patient1_R2.fastq.gz
/folder006
Patient2_R1.fastq.gz
Patient2_R2.fastq.gz
etc.
/folder4
/folder007
Patient1_R1.fastq.gz
Patient1_R2.fastq.gz
/folder008
Patient2_R1.fastq.gz
Patient2_R2.fastq.gz
etc.
Я хочу сделать скрипт, предназначенный для fastq.gzфайлы с одинаковыми именами в разных папках, затем объединить их. Однако я не знаю, как это сделать в Google-Cloud.
Вот тот же пример с цветами (я хочу объединить файлы с тем же цветом):
Примерс цветами
Вот как я вижу скрипт bash:
bucket="bucketID"
dir1=$bucket/"folder1"
dir2=$bucket/"folder2"
dir3=$bucket/"folder3"
dir4=$bucket/"folder4"
destdir=$bucket/"destdir"
participants = (Patient1
Patient2
)
for i in ${participants[*]};
do
zcat dir1/.../$i/_R1.fastq.gz dir2/.../$i/_R1.fastq.gz dir3/.../$i/_R1.fastq.gz dir4/.../$i/_R1.fastq.gz | gzip >$destdir/"merged_"$i/_R1.fastq.gz
zcat dir1/.../$i/_R2.fastq.gz dir2/.../$i/_R2.fastq.gz dir3/.../$i/_R2.fastq.gz dir4/.../$i/_R2.fastq.gz | gzip >$destdir/"merged_"$i/_R2.fastq.gz
done
Должен ли я вместо этого использовать «gsutil compose» для объединения?
В конце яхотел бы иметь только два файла R1 и R2 для каждого пациента: merged_patient # _R1.fastq.gz и merged_patient # _R2.fastq.gz.
В приведенном выше примере это даст 4 файла:
merged_Patient1_R1.fastq.gz
merged_Patient1_R2.fastq.gz
merged_Patient2_R1.fastq.gz
merged_Patient2_R2.fastq.gz
Спасибо!