[EMBOSS] emma via perl/cgi system command

pmr at ebi.ac.uk pmr at ebi.ac.uk
Sun Mar 25 12:37:42 UTC 2007


> Dear friends
>
> I have an trouble in executing emma command.
> The situation is like following.
>
> I'd like to perform multiple alignment using a protein
> sequence fasta format as input via Perl/CGI web system.
>
> I thought the best way to achieve this objective is to use
>  system command like
>
> #####
> my $emma_com = "/usr/local/bin/emma /tmp/fasta /tmp/align
> /tmp/dnd";
>
> system("$emma_com");
> #####
>
> "/tmp/fasta" is the input fasta file. "/tmp/align" and
> "/tmp/dnd" is supposed to be output files.
>
> This $emma_com command works when I put the command from
> xterm console, which means that I can get the output
> files.But when I use the command from Perl/CGI web system,
> only I can have is empty output files.

You are running emma through perl, and then through the default shell.

It is possible that clustalw is not in the path when EMBOSS tries to run
clustalw. (perhaps because perl/CGI web pages define the path differently,
or run as a different user).

To test this, add -debug to your emmma command line and look for lines in
the emma.dbg file with the string "clustalw" or "CLUSTALW"

You can define the full path for clustalw in the environment variable
EMBOSS_CLUSTALW or as a variable in your emboss.default or ~/.embossrc
file. Running with -debug will show the difference in the emma.dbg file.

Hope this helps,

Peter Rice




More information about the EMBOSS mailing list