[Bioperl-l] strange behavior of Bio::Tools::Run::Alignment::StandAloneFasta
Aaron Mackey
ajmackey at gmail.com
Wed Apr 14 14:52:27 EDT 2010
I also wouldn't be surprised if the BioPerl code doesn't play nicely with
the newer fasta 3.6 version you're using.
-Aaron
On Tue, Apr 13, 2010 at 11:34 PM, Chris Fields <cjfields at illinois.edu>wrote:
> You should file this as a bug. My guess is something here is checking for
> boolean context instead of defined(), so is failing when set to 0.
>
> The other issue, setting of 'q', might be unimplemented.
>
> chris
>
> On Apr 13, 2010, at 10:02 PM, Dimitar Kenanov wrote:
>
> > Hello guys,
> > i found some strange behavior of the the module
> "Bio::Tools::Run::Alignment::StandAloneFasta". I am trying to run
> "ssearch36" or "fasta36" locally and parse the report. I want to get the
> hits name, e-values, and sequences out of the report and print them to
> another file which i can process further.
> >
> > Below is the code where - $fh_dbs=file with a list of fasta libraries;
> $line=my current fasta library; $seq=my query.
> >
> > my @arg=(
> > 'E' => '0.01',
> > 'd' => '0', #problem here
> > 'H' => '',
> > 'w' => '100',
> > 'O' => "$output",
> > 'program' => 'ssearch36',
> > );
> >
> > my $line;
> > while($line=<$fh_dbs>){
> > chomp($line);
> > print "DB:$line:\n";
> >
> >
> > my $factory=Bio::Tools::Run::Alignment::StandAloneFasta->new(@arg);
> > $factory->library($line);
> > my @fastreport=$factory->run($seq);
> >
> > foreach (@fastreport) {
> > print "Parsed fasta report:\n";
> > my $result = $_->next_result;
> >
> > while( my $hit = $result->next_hit()) {
> > print "\thit name: ", $hit->name();
> > while( my $hsp = $hit->next_hsp()) {
> > my $e_val=$hsp->evalue;
> > my $qseq=$hsp->query_string;
> > my $hseq=$hsp->hit_string;
> > print "E:$e_val:\n",
> > print "Q-SEQ:$qseq:\n";
> > print "HIT-SEQ:$hseq:\n";
> >
> >
> > }
> > }
> > }
> > }
> >
> > Now the weird thing is that if i mark the line 'd' => '0' then i can get
> the HIT and QUERY sequences but not the E-value and if its unmarked as i
> want it then i can get the E-value but not the sequences.
> > Its strange and i dont know how to solve that problem.
> > If someone has any idea how i can go around that i would be very
> thankful.
> >
> >
> > Thanks
> > Dimitar
> >
> > PS: Another problem i found is the "q" option. Even if i pass it through
> the @arg, its not working. I still see the output on my terminal.
> >
> > --
> > Dimitar Kenanov
> > Postdoctoral research fellow
> > Protein Sequence Analysis Group
> > Bioinformatics Institute
> > A*STAR, Singapore
> > email: dimitark at bii.a-star.edu.sg
> > tel: +65 6478 8514
> >
> > _______________________________________________
> > 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
>
More information about the Bioperl-l
mailing list