Question: Issues creating loop for BWA job
gravatar for caranlove
9 months ago by
caranlove0 wrote:


I am having issues creating a successful loop for processing ~200 files in the same directory. My BWA script runs successfully when run on individual scripts but I have been unsuccessful in creating a working loop that will process all files, not just one at a time. Below is an example script:

module load BWA/0.7.17-foss-2016b

for FNAME in $FILES 
time bwa mem -t 12 -M /Directory/Folder/Reference/Lisp_final /Directory/Folder/$FNAME\.1.fq.gz /Directory/Folder/$FNAME\.2.fq.gz > /Directory/Folder/Lisp/align_output/$FNAME\.sam
let "i+=1";

Thank you for any help!

snp alignment software error • 243 views
ADD COMMENTlink modified 9 months ago by genomax75k • written 9 months ago by caranlove0

There is not enough information here to debug. Where is $FILES coming from and what does it contain? What is let "i+=1" doing?

General comment. You should always use echo in/before your actual command (time bwa etc) until you are sure that the command lines look sane. At that point you can remove echo to run the real jobs.

You could do something like

for file in *r1.fq.gz 
do name=$(basename $file r1.fq.gz) 
echo bwa mem -t 12 -M /Directory/Folder/Reference/Lisp_final  ${name}.r1.fq.gz  ${name}.r2.fq.gz > ${name}.sam
ADD REPLYlink modified 9 months ago • written 9 months ago by genomax75k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 843 users visited in the last hour