[emboss-dev] Bio-Emboss: executing "diffseq" as a perl function
Peter Ernst
P.Ernst at dkfz-heidelberg.de
Fri Mar 24 15:02:28 UTC 2006
On Fri, 24 Mar 2006, Sebastian Konietzny wrote:
> I would like to know how I can use Bio::Emboss in such a way, that I
> will not longer have to execute the "diffseq"-command as a system-call.
>
> I heard that it ought to be possible to use emboss-tools from inside a
> perl-script without system-calls but by using Emboss perl functions
> instead. Can anyone help me and explain, what would be the right
> subroutine and how I have to manage it's call?
Bio::Emboss provides a Perl-API to the Emboss libraries, but not to
the Emboss tools.
A few Emboss tools, like "seqret", rely in their functionality almost
completely in one or two library calls, and can therefore be easily
copied to Perl.
The "diffseq" tool, however, does a lot more than just calling a few
library functions.
If you would translate the diffseq.c source code line-by-line into
Perl (what I do not recommend; too much work), the Bio::Emboss module
would provide the interface to the Emboss functions like
embWordBuildMatchTable().
If you *really* need a Perl-API for "diffseq",
1st) create a C library based on diffseq.c, providing the function
you would like to use from Perl.
2nd) Use PerlXS, to interface from Perl to this library.
(this is what Bio::Emboss does for the Emboss libraries)
Kind regards,
Peter
--
Peter Ernst
Department of Molecular Biophysics - B020
Deutsches Krebsforschungszentrum (German Cancer Research Center) DKFZ
More information about the emboss-dev
mailing list