Help with adding read groups in BWA bash loop script
1
2
Entering edit mode
6.7 years ago
eric.londin ▴ 60

Hi all, I'm relatively new to bash scripting and working on one to map samples with BWA bash-loop.

My loop is the following:

for i in $(ls *.fastq.gz | rev | cut -c 10- | rev | uniq)
do

 ./bwa mem -t 60 -c 1 -R '@RG\tID:${i}\tSM:${i}\tPL:illumina\tPU:Lane1\tLB:exome' MyReference.fq ${i}.fastq.gz ${i}.fastq.gz > ${i}.sam
 done

The '-R' flag will add the read group info into the sam file. I am having trouble with having the actual sample name being added, rather than it just printed with a '${i}'. I've spending lot's of time googling, and trying to figure this out, but haven't been able to yet. Any advice would be appreciated.

bwa next-gen bash-loop • 4.3k views
ADD COMMENT
1
Entering edit mode

Troubleshooting hint

What is the output of this?

for i in $(ls *.fastq.gz | rev | cut -c 10- | rev | uniq)
do
echo '@RG\tID:${i}\tSM:${i}\tPL:illumina\tPU:Lane1\tLB:exome'
done

If this does not expands the variable $i, then your code is not going to work. Try the suggestion from WouterDeCoster

ADD REPLY
0
Entering edit mode
@RG\tID:${1}\tSM:${1}\tPL:illumina\tPU:Lane1\tLB:exome

Are you using 1 instead of i there?

ADD REPLY
0
Entering edit mode

Sorry meant i instead of 1.

Typo on my part - edited the original post

ADD REPLY
3
Entering edit mode
6.7 years ago

Try " instead of ' for quoting. Variable expansion needs double quotes.

ADD COMMENT

Login before adding your answer.

Traffic: 1968 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6