[Bioperl-l] Problem w/ extracting start and stop of a blast alignment

Erik Richly richly@mpiz-koeln.mpg.de
Thu, 23 Aug 2001 12:20:23 +0200


Hi,

I'm experiencing a problem in extracting the start and stop position of
a blast alignment.

I'm parsing the BlastN output using bioperl with the folloing routine:

foreach $hit ($blastObj->hits) {
      $id=$hit->name;
      $exp=$hit->expect;
      ($qstart,$sstart)=$hit->start;
      ($qend,$send)=$hit->end;
      print $hit->name," $exp\n";
      print "Query: $qstart - $qend   Subj: $sstart - $send\n";
}

Now, when I compare the positions I'm getting using the above routine to
the original blast output it shows that these positions are completely
wrong - e.g.:

Output of program:
ATL8C18794 0.0
Query: 536 - 39328   Subj: 1 - 3495

ATL8C20200 0.0
Query: 15966 - 19593   Subj: 1 - 3608



Output of BlastN:
>ATL8C18794
          Length = 4868
 
 Score = 5366 bits (2707), Expect = 0.0
 Identities = 2777/2800 (99%), Gaps = 2/2800 (0%)
 Strand = Plus / Plus
 
 
Query: 32585
gtggtgta-tttaatac-aggtaacgatttcttcaaggagcagaagtatcctgaggccat 32642
             |||||||| |||||||| ||||| |||||||||||||  ||||||||||||||||
||||
Sbjct: 1    
gtggtgtattttaatacaaggtaccgatttcttcaagaggcagaagtatcctgagcccat 60
...
....
.....
                             
>ATL8C20200
          Length = 3608
 
 Score = 5247 bits (2647), Expect = 0.0
 Identities = 2786/2834 (98%), Gaps = 6/2834 (0%)
 Strand = Plus / Minus
 
 
Query: 16766
ttggcgatggaacgaactactgtaatactgttcgtcttcttcttgctctctgtagcaatg 16825
             |||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||
Sbjct: 2834 
ttggcgatggaacgaactactgtaatactgttcgtcttctttttgctctctgtagcaatg 2775    
...
....
.....

Would anybody of you know why the query start/stop positions are messed
up?

Thanks in advance,

Erik