emma or clustalw problem?

David Starks-Browning starksb at ebi.ac.uk
Thu Dec 5 14:21:30 UTC 2002


On Thursday 5 Dec 02, Sebastian Bassi writes:
> Hi,
>  
> Sometimes the problems like this occurs when the program is
> expecting a UNIX formated text file and you put a windows style text
> file. ...

Mathieu's problem was that clustalw is quite broken when it comes to
string buffer management.  Emma provides it the command line argument
"5511A" and clustalw screws up the string buffer containing the
filename, and attempts to open something different.  In fact it's the
string with an extra "garbage" character at the end.  Although the
error message says that 5511A was missing, in fact it was looking for
5511A^Y (where ^Y is ctrl-Y), or something like that.  You don't see
the extra ^Y in the error message.  You see it in the open() system
call when you study it with strace.  (Which is how I determined this.)

This only seems to be a problem on Linux, and only when the filename
is 5 characters, which happens whenever Emma's PID is 4 characters.
Hence the nature of my suggested workaround, which pads the filename
to > 5 characters, no matter what the PID is.

On the other hand, I know folks who have found clustalw to also break,
on other platforms, when the filename is too long.  I don't know what
the limits are, so I don't know if it's safe to apply my Linux
workaround to emma.c in general, for all platforms.

> ERROR: Could not open sequence file 5511A
>  
> 
> No. of seqs. read = -1. No alignment!
> Error: failed to open filename 5511B
> Problem writing out EMBOSS alignment fileSegmentation fault
> 
> -mat




More information about the EMBOSS mailing list