[Bioperl-l] strange behavior of Bio::Tools::Run::Alignment::StandAloneFasta
Chris Fields
cjfields at illinois.edu
Wed Apr 14 19:37:39 EDT 2010
Should be easy enough to test.
chris
On Apr 14, 2010, at 1:52 PM, Aaron Mackey wrote:
> 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
>>
> _______________________________________________
> 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