Hi,
I'm trying to get the bases from a query that aligns to a specified location in the reference sequence.
For example, given the three alignments below,
I want to do something like (I'm using Bio::Perl and Bio:B::Sam)
... which should output
I suppose this can be achieved by parsing the cigar string or the padded_alignment (($ref,$matches,$query)=$a->padded_alignment;), but was wondering if there is a function that does this already.
Thanks.
I'm trying to get the bases from a query that aligns to a specified location in the reference sequence.
For example, given the three alignments below,
Code:
12345678 Ref1 ACGTACGT |||||| | Qry1 ACGTA[COLOR="Red"]CT[/COLOR]T (Read is has a mismatch) 12345678 Ref1 ACGTACGT | ||| || Qry2 A-GTA[COLOR="red"]GG[/COLOR]T (Read has a deletion and a mismatch) 1 2345678 Ref1 A-CGTACGT | |||| || Qry3 AACGTA[COLOR="red"]AG[/COLOR]T (Read has an insertion and a mismatch)
Code:
my $start = 6; my $end = 7; $sam->fetch('Ref1', sub { my $a = shift; print $a->query->name,"\t"; print $a->[B][COLOR="DarkRed"]some_magical_function[/COLOR][/B]($start,$end),"\n"; });
Code:
Qry1 CT Qry2 GG Qry3 AG
Thanks.
Comment