NAME

Bio::Tools::Run::Infernal - Wrapper for local execution of cmalign, cmbuild, cmsearch, cmscore

SYNOPSIS

# parameters which are switches are set with any value that evals TRUE,
# others are set to a specific value

my @params = (hmmfb => 1,
              thresh => 20);

my $factory = Bio::Tools::Run::Infernal->new(@params);

# run cmalign|cmbuild|cmsearch|cmscore|cmemit directly as a wrapper method
# this resets the program flag if previously set

$factory->cmsearch(@seqs); # searches Bio::PrimarySeqI's based on set cov. model
                           # saves output to outfile()/tempfile

# only values which are allowed for a program are set, so one can use the same
# wrapper for the following...

$factory->cmalign(@seqs); # aligns Bio::PrimarySeqI's to a set cov. model
                          # saves output to outfile()/tempfile
$factory->cmscore(@seqs); # scores set cov. model against Bio::PrimarySeqI's,
                          # saves output to outfile()/tempfile/STDERR.
$factory->cmbuild($aln); # builds covariance model based on alignment
                         # saves CM to model(), output to outfile()/tempfile/STDERR.
$factory->cmemit($file); # emits sequence from specified cov. model;
                         # set one if no file specified

# run based on the setting of the program parameter

my $factory = Bio::Tools::Run::Infernal->new(-program => 'cmsearch',
                                              @params);
my $search = $factory->run($seq);

# using cmsearch returns a Bio::SearchIO object

while (my $result = $searchio->next_result){
 while(my $hit = $result->next_hit){
  while (my $hsp = $hit->next_hsp){
          print join("\t", ( $r->query_name,
                             $hit->name,
                             $hsp->hit->start,
                             $hsp->hit->end,
                             $hsp->meta,
                             $hsp->score,
                             )), "\n";
  }
 }
}

DESCRIPTION

Wrapper module for Sean Eddy's Infernal suite of programs. The current implementation runs cmsearch, cmalign, cmemit, cmbuild, and cmscore. The only current BioPerl object returned is for cmsearch (as shown in the SYNOPSIS); all others are sent to either the designated outfile, a tempfile, or STDOUT.

Since the Infernal suite is under constant development, consider this wrapper as highly experimental. It will only actively support the latest Infernal release (now at v. 0.81, used to build Rfam 8.0) until a 1.0 Infernal release is made.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:

http://bugzilla.open-bio.org/

AUTHOR - Chris Fields

Email: cjfields-at-uiuc-dot-edu

CONTRIBUTORS

cjfields-at-uiuc-dot-edu

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

Title   : new
Usage   : my $wrapper = Bio::Tools::Run::Infernal->new(@params)
Function: creates a new Infernal factory
Returns:  Bio::Tools::Run::Infernal wrapper
Args    : list of parameters

program

Title   :  program
Usage   :  $obj->program()
Function:  Set the program called when run() is used.  Synonym of
           program_name()
Returns :  String (program name)
Args    :  String (program name)

program_name

Title   : program_name
Usage   : $factory>program_name()
Function: holds the program name
Returns:  string
Args    : None

model

Title   :  model
Usage   :  $obj->model()
Function:  Set the model used when run() is called.
Returns :  String (file location of covariance model)
Args    :  String (file location of covariance model)

program_dir

Title   : program_dir
Usage   : $factory->program_dir(@params)
Function: returns the program directory, obtained from ENV variable.
Returns:  string
Args    :

version

Title   : version
Usage   : $v = $prog->version();
Function: Determine the version number of the program (uses cmsearch)
Example :
Returns : float or undef
Args    : none

run

Title   :   run
Usage   :   $obj->run($seqFile)
Function:   Runs Infernal and returns Bio::SearchIO
Returns :   A Bio::SearchIO
Args    :   A Bio::PrimarySeqI or file name

Specific program interface methods

cmsearch

Title   :   cmsearch
Usage   :   $obj->cmsearch($seqFile)
Function:   Runs Infernal cmsearch and returns Bio::SearchIO
Returns :   A Bio::SearchIO
Args    :   Bio::PrimarySeqI or file name

cmalign

Title   :   cmalign
Usage   :   $obj->cmalign($seqFile)
Function:   Runs Infernal cmalign and returns Bio::AlignIO
Returns :   A Bio::AlignIO
Args    :   Bio::PrimarySeqI or file name

cmemit

Title   :   cmemit
Usage   :   $obj->cmemit($modelfile)
Function:   Runs Infernal cmemit and returns Bio::AlignIO
Returns :   A Bio::AlignIO
Args    :   [optional] File name containing covariance model
            (will use model() if not passed)

cmbuild

Title   :   cmbuild
Usage   :   $obj->cmbuild($alignment)
Function:   Runs Infernal cmbuild and saves covariance model
Returns :   1 on success (no object for covariance models)
Args    :   Bio::AlignIO with structural information (such as from Stockholm
            format source) or alignment file

cmscore

Title   :   cmscore
Usage   :   $obj->cmscore($seq)
Function:   Runs Infernal cmscore and saves output
Returns :   None
Args    :   Bio::PrimarySeqI or file

_run

Title   :   _run
Usage   :   $obj->_run()
Function:   Internal(not to be used directly)
Returns :   
Args    :

_setparams

Title   :  _setparams
Usage   :  Internal function, not to be called directly
Function:  creates a string of params to be used in the command string
Example :
Returns :  string of params
Args    :  

_writeSeqFile

Title   :   _writeSeqFile
Usage   :   obj->_writeSeqFile($seq)
Function:   Internal(not to be used directly)
Returns :
Args    :

_writeAlignFile

Title   :   _writeAlignFile
Usage   :   obj->_writeAlignFile($seq)
Function:   Internal(not to be used directly)
Returns :
Args    :