Package: python3-biopython
Severity: important
Tags: upstream
Hello,
python3-biopython is incompatible with muscle >= 5. Upstream tests
detect this incompatibility:
======================================================================
ERROR: test_Muscle_profile_simple (test_Muscle_tool.MuscleApplication)
Simple round-trip through app doing a profile alignment.
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/Tests/test_Muscle_tool.py",
line 133, in test_Muscle_profile_simple
output, error = cmdline()
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10/build/Bio/Application/__init__.py",
line 574, in __call__
raise ApplicationError(return_code, str(self), stdout_str, stderr_str)
Bio.Application.ApplicationError: Non-zero return code 1 from 'muscle
-out Fasta/temp_align_out3.fa -profile -in1 Fasta/fa01 -in2 Fasta/f001',
message 'Invalid command line'
(only one failing test is shown for brevity)
However, tests with muscle are skipped as the build system is unable to
detect newer muscle. I attach a patch prodding the build system to run
muscle tests. Normally I would push such patch to cause FTBFS for
package, but now I think failures of integration with muscle should not
cause AUTORM for Biopython. Nevertheless, I think this should be fixed
for bookworm.
Andrius--- a/Tests/test_Muscle_tool.py
+++ b/Tests/test_Muscle_tool.py
@@ -49,14 +49,13 @@
if muscle_exe:
break
else:
- from subprocess import getoutput
+ from subprocess import getstatusoutput
- output = getoutput("muscle -version")
+ exitcode, _ = getstatusoutput("muscle -version")
# Since "not found" may be in another language, try and be sure this is
# really the MUSCLE tool's output
- if "not found" not in output and "not recognized" not in output:
- if "MUSCLE" in output and "Edgar" in output:
- muscle_exe = "muscle"
+ if exitcode == 0:
+ muscle_exe = "muscle"
if not muscle_exe:
raise MissingExternalDependencyError(