[Bioperl-l] Bio::Search::HSP::GenericHSP::seq_inds

Chris Fields cjfields at uiuc.edu
Thu Mar 27 11:05:59 EDT 2008


According to the GenericHSP::seq_inds() POD, seq_inds() reports  
residue positions (indices) for the query/subject based on identity/ 
conservation, i.e. these are fro the original sequence positions as  
determined by the HSP data, not alignment column positions.  'gaps'  
should be reported at the position prior to where a gap is inserted.   
However I think something is getting borked when the gap length is  
longer than one, so I would partially qualify this as a bug.

Example: When I ran this using bioperl-live it gives a different set  
of gaps indices which appear to be correct.  I reran the BLASTP using  
the web form using your query against swissprot and parsed it.  I got  
slightly different results for the BLAST report (probably differences  
in the query sequence):

 >gi|74746888|sp|Q5VT52|K0460_HUMAN Uncharacterized protein KIAA0460
Length=1461

  Score = 35.8 bits (81),  Expect = 0.47, Method: Composition-based  
stats.
  Identities = 22/55 (40%), Positives = 32/55 (58%), Gaps = 3/55 (5%)

Query  394  IAVEEETKTTKKNKKQ-QQQANKNKNKNKKK--TTIAPEAAIDANIAAEVHTQVL  445
             +A+ E   TT K +KQ ++  NK  NK  KK  T+  P+AA+ + I AE  +Q L
Sbjct  139  VALREALSTTFKTQKQLKENLNKQPNKQWKKSQTSTNPKAALKSKIVAEFRSQAL  193

.....

seq_inds('query' => 'gaps') reports 409,423, and 424, which is  
partially correct, e.g. there is a gap inserted after position 409 and  
423 in the query.  However, no gap is present after 424; I think this  
occurs b/c the gap length is 2.  The other HSPs report similar problems.

chris

P.S. Just saw than Sendu posted; I agree, seq. positions with gap  
lengths > 1 should be repeated.  Should be easy to fix that.

On Mar 27, 2008, at 8:26 AM, Marc Logghe wrote:

> Hi all,
>
> I am a little bit confused about the above mentioned seq_inds()  
> method.
> At first, I had the impression that the method returns an array of
> positions in the hsp (hit or query) sequence.
>
> At least that is what one would expect looking at the example usage in
> the HOWTOs (http://www.bioperl.org/wiki/HOWTO:SearchIO#Using_the_methods
> second code block).
>
> Am I correct in believing you can only do this if your hsp query  
> stretch
> starts at position 1 of the query sequence?
>
> I think seq_inds() returns a list of positions relative to the query/ 
> hit
> sequence. So, the code shown in the HOWTO is a kind of special case.
>
> However, I do not understand how seq_inds() is dealing with gaps.
>
> An example. If you blast the worm protein ZK822.4 against swissprot
> using blastp at ncbi you get this hsp as top:
>
>
>
>> sp|Q5VT52|K0460_HUMAN Uncharacterized protein KIAA0460
> Length=1461
>
> Score = 35.8 bits (81),  Expect = 0.48, Method: Composition-based
> stats.
> Identities = 22/55 (40%), Positives = 32/55 (58%), Gaps = 3/55 (5%)
>
> Query  402  IAVEEETKTTKKNKKQ-QQQANKNKNKNKKK--TTIAPEAAIDANIAAEVHTQVL   
> 453
>            +A+ E   TT K +KQ ++  NK  NK  KK  T+  P+AA+ + I AE  +Q L
> Sbjct  139  VALREALSTTFKTQKQLKENLNKQPNKQWKKSQTSTNPKAALKSKIVAEFRSQAL   
> 193
>
>
>
> Now, if you call seq_inds(query => 'gap') on that particular hsp  
> object,
> you get these positions: 417, 431, 432. Obviously, there is no gap in
> the original query sequence at these positions.
> How do you have to read these numbers ? Remark also that for instance
> 417 is the res just in front of the gap.
>
> Regards,
>
> Marc
>
>
>
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign





More information about the Bioperl-l mailing list