Thanks, seams working!
while read loop shell command
I'm writing a shell script for alignment.
Where sample ID stored in SampleID.txt, for this I use a example SRR534526, fastq file names are SRR534526_1.fastq.gz SRR534526_2.fastq.gz
My command:
while read -r line;
do name=$line;
# Rum alignment using STAR, this gives SAM file
/software/STAR/STAR_2.3.1z12/STAR --genomeDir ~/Homo_sapiens_assembly19_STAR/ --readFilesIn $name_1.fastq.gz $name_2.fastq.gz --readFilesCommand zcat --runThreadN 20 --outFileNamePrefix $name
cd ..
done < 'SampleID.txt'
Error report: gzip: .fastq.gz: No such file or directory
Apparently, the problem is $name_1.fastq.gz is not recognized as SRR534526_1.fastq.gz
Could anyone help? Thanks.
• 4,676 views
•
link
2 answers
Try using quotes for _1.fastq.gz like $sample"_1.fastq.gz"
• 0 views
•
link
• 1 views
•
link
It's a good practice to always enclose bash variables within {}, like, in your case, ${name}_1.fastq.gz
By following this, you make it explicit which part of your string is a variable name and which part is the actual literal string.
• 0 views
•
link
Thanks, you both gave good suggestions.
• 1 views
•
link
Log in to answer this question.