[Bioperl-l] why does Bio::Tools::Run::Hmmer return a SearchIO object for hmmalign?

Scott Markel smarkel at scitegic.com
Mon Apr 18 15:14:00 EDT 2005


Here are my proposed code changes for Bio::Tools::Run::Hmmer.

11c11
<   #run hmmpfam|hmmalign|hmmsearch
---
 >   #run hmmpfam|hmmsearch
37a38,45
 >   #align one or more sequences to an existing hmm using hmmalign
 >   my $factory =  Bio::Tools::Run::Hmmer->new('program'=>'hmmalign','hmm'=>'model.hmm');
 >
 >   # Pass the factory a Bio::Seq object or a file name
 >
 >   # returns a Bio::AlignIO object
 >   my $aio = $factory->run($seq);
 >
216c224
<      if($self->program_name=~/hmmpfam|hmmsearch|hmmalign/){
---
 >      if($self->program_name=~/hmmpfam|hmmsearch/){
220a229,241
 >      elsif($self->program_name=~/hmmalign/){
 >        # add "-q" to make sure the banner is suppressed; note that options go
 >        # after hmmalign and before the file names
 >        my @tokens = split(/\s+/, $str);
 >        $str = shift(@tokens) . " -q " . join(" ", @tokens);
 >
 >        open(HMM,"$str |") || $self->throw("HMMER call ($str) crashed: $?\n");
 >
 >        # warning: mismatch if user has set the format using "--outformat"
 >        my $alignio = Bio::AlignIO->new(-fh=>\*HMM,-format=>"stockholm");
 >
 >        return $alignio;
 >       }

Would someone please verify that my changes are acceptable and
then do the CVS update?

Scott

Scott Markel wrote:

> Jason,
> 
> It doesn't really work.  It gives a SearchIO object with no
> hits.
> 
> I'll take a shot at modifying Bio::Tools::Run::Hmmer to handle
> hmmalign differently.
> 
> Scott
> 
> Jason Stajich wrote:
> 
>> That is curious.  Is it even a proper searchIO object - I can't 
>> imagine it would work? I assume you know what it would take in 
>> Tools::Run::HMMER to do something different for hmmalign runs.
>>
>> -jason
>> -- 
>> Jason Stajich
>> jason.stajich at duke.edu
>> http://www.duke.edu/~jes12/
>>
>> On Apr 12, 2005, at 8:23 PM, Scott Markel wrote:
>>
>>> I'm curious as to why Bio::Tools::Run::Hmmer returns a
>>> SearchIO object when the program is hmmalign.  I would
>>> have expected an AlignIO object since the result of an
>>> hmmalign execution is a Stockholm formatted alignment file.
>>>
>>> I expect that I'm missing something obvious, but I don't
>>> see it.  An online search, including the mailing list
>>> archive, didn't help.
>>>
>>> Scott
>>>
>>> -- 
>>> Scott Markel, Ph.D.
>>> Principal Bioinformatics Architect  email:  smarkel at scitegic.com
>>> SciTegic Inc.                       mobile: +1 858 205 3653
>>> 9665 Chesapeake Drive, Suite 401    voice:  +1 858 279 8800, ext. 253
>>> San Diego, CA 92123                 fax:    +1 858 279 8804
>>> USA                                 web:    http://www.scitegic.com
>>>
>>>
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at portal.open-bio.org
>>> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>
>>
> 

-- 
Scott Markel, Ph.D.
Principal Bioinformatics Architect  email:  smarkel at scitegic.com
SciTegic Inc.                       mobile: +1 858 205 3653
9665 Chesapeake Drive, Suite 401    voice:  +1 858 279 8800, ext. 253
San Diego, CA 92123                 fax:    +1 858 279 8804
USA                                 web:    http://www.scitegic.com



More information about the Bioperl-l mailing list