[Bioperl-l] blast best hit

Jordi Durban jordi.durban at gmail.com
Thu Mar 31 10:23:54 EDT 2011


Hi,
I did a pair of scripts to parse a blastxml report. I'd like know your
opinion.
First I obtained a file with tab separated results (whatever you want) from
the blast results according to some Bioperl modules as SearchIO. That is:
hit_name    query_name    e-value    score
hit_name    query-name   e-value     score
.
.

Then, I parse that file as an array where:
foreach my $line ($array[0]){ ###### best hit
        next if $seen {$line}++; ##### non-repeated lines
        push @unique , $line[1]; ### best hit outcome in a new array
       }

I hope this helps and I look forward some opinions.






2011/3/31 Brian Osborne <bosborne11 at verizon.net>

> Boyang,
>
> You can sort the hits, by any criterion you want:
>
> my @hits = $result->hits;
> @hits = sort { $a-> bits <=> $b->bits } @hits;
>
> BIO
>
> On Mar 31, 2011, at 8:28 AM, boyang zhe wrote:
>
> > Hi,
> >
> > I just want to parse the blast results ,and get the best hit.
> >
> > One way is to parse the results as usual, then get the first hit and exit
> > the loop.
> >
> > I checked the bioperl document, and find that there is a method
> > best_hit_only in Bio::SearchIO::blast.pm.
> > But it only return 1/0. So my question is how to use this method to get
> the
> > best hit.
> >
> > Thank you very much!
> >
> > Boyang
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>



-- 
Jordi



More information about the Bioperl-l mailing list