Mercurial > repos > ldelisle > revertr2orientationinbam
annotate revertR2orientationInBam.sh @ 1:2c86ad672f52 draft default tip
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
| author | ldelisle |
|---|---|
| date | Wed, 19 Oct 2022 08:34:43 +0000 |
| parents | |
| children |
| rev | line source |
|---|---|
|
1
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
1 #!/bin/bash |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
2 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
3 inputBam=$1 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
4 outputBam=$2 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
5 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
6 samtools view -h "$inputBam" | awk -v OFS="\t" '{ |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
7 # Process only non header lines |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
8 if(!($1~/^@/)){ |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
9 # SAM flag is field 2 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
10 n=$2 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
11 # Change only the second in pair flag is 128 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
12 d=128 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
13 q=(n-n%d)/d+(n<0) |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
14 if(q%2==1){ |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
15 # Evaluate the strand reverse strand flag is 16 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
16 d=16 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
17 q=(n-n%d)/d+(n<0) |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
18 if(q%2==1){ |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
19 # It is reverse it is now forward |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
20 $2-=16 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
21 }else{ |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
22 # It is forward it is now reverse |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
23 $2+=16 |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
24 } |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
25 } |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
26 } |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
27 print |
|
2c86ad672f52
planemo upload commit 89aa8abdc88aa922cab8d9c5f17078ba1e388339-dirty
ldelisle
parents:
diff
changeset
|
28 }' | samtools view -b - > "$outputBam" |
