Bugfix: reverse (complement) sequence and phred string if alternative alignment has different orientation than primary alignment
This commit is contained in:
parent
4f7734eb97
commit
3536e2113c
11
xa2multi.pl
11
xa2multi.pl
|
|
@ -10,7 +10,16 @@ while (<>) {
|
|||
my @t = split("\t");
|
||||
while ($l =~ /([^,;]+),([-+]\d+),([^,]+),(\d+);/g) {
|
||||
my $mchr = ($t[6] eq $1)? '=' : $t[6]; # FIXME: TLEN/ISIZE is not calculated!
|
||||
print(join("\t", $t[0], 0x100|($t[1]&0x6e9)|($2<0?0x10:0), $1, abs($2), 0, $3, @t[6..7], 0, @t[9..10], "NM:i:$4"), "\n");
|
||||
my $seq = $t[9];
|
||||
my $phred = $t[10];
|
||||
# if alternative alignment has other orientation than primary,
|
||||
# then print the reverse (complement) of sequence and phred string
|
||||
if ((($t[1]&0x10)>0) xor ($2<0)) {
|
||||
$seq = reverse $seq;
|
||||
$seq =~ tr/ACGTacgt/TGCAtgca/;
|
||||
$phred = reverse $phred;
|
||||
}
|
||||
print(join("\t", $t[0], 0x100|($t[1]&0x6e9)|($2<0?0x10:0), $1, abs($2), 0, $3, @t[6..7], 0, $seq, $phred, "NM:i:$4"), "\n");
|
||||
}
|
||||
} else { print; }
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue