Peter Ernst > Bio-Emboss-5.0.0.1 > Bio::Emboss

Download:
Bio-Emboss-5.0.0.1.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 5.0.0.1   Source  

NAME ^

Bio::Emboss - Write EMBOSS programs in Perl

SYNOPSIS ^

  use Bio::Emboss qw(:all);

  embInitPerl("seqret", \@ARGV); 
  
  $seqall = ajAcdGetSeqall("sequence"); 
  $seqout = ajAcdGetSeqoutall("outseq"); 
  
  while ($seqall->ajSeqallNext($seq)) {
      $seqout->ajSeqAllWrite ($seq);
  }

DESCRIPTION ^

This module allows Perl programmers to access functions of the EMBOSS (European Molecular Biology Open Software Suite) package.

USAGE ^

You can use this module in an object oriented way or not. I.e. the EMBOSS function

  AjBool       ajSeqallNext (AjPSeqall seqall, AjPSeq* retseq);

can be used from Perl in the following ways:

  $ok = $seqall->ajSeqallNext ($retseq);

or

  $ok = Bio::Emboss::ajSeqallNext ($seqall, $retseq);

or

  # --- with use Bio::Emboss ":all"
  $ok = ajSeqallNext ($seqall, $retseq);

AjPxxx types are translated into Perl references, blessed into the package Bio::Emboss::xxx. This allows the object oriented notation seen above.

Functions expecting pointers to variables, because the function changes the value of this variable don't need pointers/references from Perl. I.e.

  (AjPSeqall seqall, AjPSeq* retseq);

translates to

  ($seqall, $retseq)

Known problem: Some C prototypes are ambiguous for Perl: (int*) can mean a pointer to an integer value (because the functions changes the value), OR it can be an array of integers. Depending on the meaning a different translation into Perl needs to be done.

(In PerlXS, in the first case "&" instead of "*" is used for the prototype of the function. In the second case, the "&" must not be used. See "The & Unary Operator" in perlxs)

START ^

Because Perl provides the command-line in $0 and @ARGV (and not argc and argv like in C), two convenience functions have been implemented to start an EMBOSS application from Perl.

embInitPerl($program_name, \@ARGV)

Can be used instead of embInit(char *pgm, ajint argc, char *argv[])

ajGraphInitPerl($program_name, \@ARGV)

Can be used instead of ajGraphInit(char *pgm, ajint argc, char *argv[])

EXPORT ^

None by default.

Available export tags are:

:all

With this export tag, all available functions in this module are copied into the callers namespace.

:acd

Export ajAcdGet... functions only.

SEE ALSO ^

http://emboss.sourceforge.net/

perldoc Bio::Emboss::Ajax (if installed)

Examples in the t/ subdirectory of the Bio::Emboss source tree.

AUTHOR ^

Peter Ernst, <pernst@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright 2003-2006 by Peter Ernst

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: