Ewan Birney


Bio::Factory::EMBOSS - EMBOSS appliaction factory class


  # get an EMBOSS factory
  use Bio::Factory::EMBOSS;
  $f = Bio::Factory::EMBOSS -> new();
  # get an EMBOSS application  object from the factory
  $water = $f->program('water');

  # here is an example of running the application
  # water can compare 1 seq against 1->many sequences
  # in a database using Smith-Waterman
  my $seq_to_test; # this would have a seq here
  my @seqs_to_check; # this would be a list of seqs to compare 
                     # (could be just 1)
  my $wateroutfile = 'out.water';
  $water->run({ '-sequencea' => $seq_to_test,
              '-seqall'    => \@seqs_to_check,
              '-gapopen'   => '10.0',
              '-gapextend' => '0.5',
              '-outfile'   => $wateroutfile});
  # now you might want to get the alignment
  use Bio::AlignIO;
  my $alnin = new Bio::AlignIO(-format => 'emboss',
                               -file   => $wateroutfile);

  while( my $aln = $alnin->next_aln ) {
      # process the alignment -- these will be Bio::SimpleAlign objects


The EMBOSS factory class encapsulates access to EMBOSS programs. A factory object allows creation of only known applications and populates it with information of input options from ACD files.


Mailing Lists

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

  bioperl-l@bioperl.org                         - General discussion
  http://bio.perl.org/MailList.html             - About the mailing lists

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 email or the web:


AUTHOR - Heikki Lehvaslaiho

Email: heikki@ebi.ac.uk Address:

     EMBL Outstation, European Bioinformatics Institute
     Wellcome Trust Genome Campus, Hinxton
     Cambs. CB10 1SD, United Kingdom


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


 Title   : location
 Usage   : $embossfactory->location
 Function: get/set the location of EMBOSS programs.
           Valid values are 'local' and 'novella'.
 Returns : string, defaults to 'local'
 Args    : string 


 Title   : program
 Usage   : $embossfactory->program('program_name')
 Function: Creates a representation of a single EMBOSS program
 Returns : Bio::Tools::Run::EMBOSSApplication object
 Args    : string, program name


 Title   : $self->version
 Usage   : $embossfactory->version()
 Function: gets the version of EMBOSS programs
 Throws  : if EMBOSS suite is not accessible
 Returns : version value
 Args    : None


These methods allow the programmer to query the EMBOSS suite and find out which program names can be used and what arguments can be used.


 Title   : program_info
 Usage   : $embossfactory->program_info('emma')
 Function: Finds out if the program is available.
 Returns : definition string of the program, undef if program name not known
 Args    : string, prgramname

Internal methods

Do not call these methods directly


 Title   : _program_list
 Usage   : $embossfactory->_program_list()
 Function: Finds out what programs are available.
           Writes the names into an internal hash.
 Returns : true if successful
 Args    : None


 Title   : _attribute_list
 Usage   : $embossfactory->_attribute_list($program_name)
 Function: Finds out what attributes are available for a
           program and writes values parsed in from ACD file into a hash.
 Returns : a hash
 Args    : string, program name