[Biopython-dev] [Bug 2807] Clustalw return codes

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Fri Apr 3 09:50:44 UTC 2009


http://bugzilla.open-bio.org/show_bug.cgi?id=2807





------- Comment #1 from biopython-bugzilla at maubp.freeserve.co.uk  2009-04-03 05:50 EST -------
(In reply to comment #0)
> Clustalw.__init__ tries to catch return codes 1, 2, 3, and 4, others get
> caught generically.

With the CVS code, using clustalw1.81, is it definitely catching these errors
and raising specific IOErrors?

> I dont think it is possible to generate a return code 1 using 1.81 because
> interface doesnt allow ad hoc options to be added to the command line.

The Bio.Clustalw.do_alignment() function accepts any command line string, so
you should be able to feed it a clustalw command with invalid arguments.

> Invalid values of options are just ignore by clustalw and it aligns the
> data anyway (ie return code 0).

We'd have to look at the clustalw source code to confirm what should trigger an
return error code of 1.

> Return codes 127 and 255 could be caught for newer versions and a more
> informative error returned.

Yes, that sounds sensible.

> But given that there are 9 other clustalw versions
> between 1.81 (June 2003) and the latest 2.0.10 (Oct 2008 the latest) for which
> I havent checked the return codes, it might be better to just return a generic
> command line error if the return value is > 0.

That also sounds sensible.

> In the case where only one sequence is present, newer versions return code 0,
> but throws a ValueError when trying to parse the non-existent output file (see
> comment in test_Clustalw_tools.py).

Maybe we should report that as a bug, I think clustalw2.0 is intended to be API
compatible with clustalw1.x

Peter


-- 
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the Biopython-dev mailing list