From 728445dd84f8b5d159c97371ee828ea8761ea938 Mon Sep 17 00:00:00 2001
From: Amandine PERRIN <amandine.perrin@pasteur.fr>
Date: Mon, 10 Jul 2023 11:01:57 +0200
Subject: [PATCH] Add option anysymbol to mafft

---
 PanACoTA/align_module/alignment.py          |  2 +-
 test/test_functional/test_align.py          |  2 +-
 test/test_unit/test_align/test_alignment.py | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/PanACoTA/align_module/alignment.py b/PanACoTA/align_module/alignment.py
index bd3f05a1..1618f4a8 100755
--- a/PanACoTA/align_module/alignment.py
+++ b/PanACoTA/align_module/alignment.py
@@ -557,7 +557,7 @@ def mafft_align(num_fam, prt_file, mafft_file, nbfprt, logger):
         False otherwise
     """
     logger.log(utils.detail_lvl(), f"Aligning family {num_fam}")
-    cmd = f"mafft --auto {prt_file}"
+    cmd = f"mafft --auto --anysymbol {prt_file}"
     error = f"Problem while trying to align fam {num_fam}"
     stdout = open(mafft_file, "w")
     stderr = open(mafft_file + ".log", "w")
diff --git a/test/test_functional/test_align.py b/test/test_functional/test_align.py
index cf49b2e9..586b6b2d 100755
--- a/test/test_functional/test_align.py
+++ b/test/test_functional/test_align.py
@@ -106,7 +106,7 @@ def test_main():
     for fam in fams:
         assert f"Checking extractions for family {fam}" in " ".join(log_content)
         assert f"Aligning family {fam}" in " ".join(log_content)
-        assert ("Mafft command: mafft --auto "
+        assert ("Mafft command: mafft --auto --anysymbol "
                 "test/data/align/generated_by_func_tests/"
                 f"Align-TEST4/TEST4-current.{fam}.prt") in " ".join(log_content)
         assert f"Back-translating family {fam}" in " ".join(log_content)
diff --git a/test/test_unit/test_align/test_alignment.py b/test/test_unit/test_align/test_alignment.py
index f597c8a5..8260be8a 100755
--- a/test/test_unit/test_align/test_alignment.py
+++ b/test/test_unit/test_align/test_alignment.py
@@ -470,7 +470,7 @@ def test_family_align_mafftempty_btrempty(caplog):
             "in test/data/align/exp_files/exp_aldir-pers/current.8.prt (3) and proteins aligned "
             "in existing test/data/align/generated_by_unit-tests/test_fam_align.8.aln") in caplog.text
     assert "Aligning family 8" in caplog.text
-    assert "Mafft command: mafft --auto test/data/align/exp_files/exp_aldir-pers/current.8.prt" in caplog.text
+    assert "Mafft command: mafft --auto --anysymbol test/data/align/exp_files/exp_aldir-pers/current.8.prt" in caplog.text
     assert "Back-translating family 8" in caplog.text
     # Check content of mafft and btr files
     exp_mafft = os.path.join(EXPPATH, "exp_aldir-pers", "mafft-align.8.aln")
@@ -577,7 +577,7 @@ def test_family_align_nomafft_btrempty_errormafft(caplog):
                                    ngenomes, logger)
     assert "Checking extractions for family 8" in caplog.text
     assert "Aligning family 8" in caplog.text
-    assert ("command '>mafft --auto test/data/align/exp_files/exp_aldir-pers/current.8.prt' "
+    assert ("command '>mafft --auto --anysymbol test/data/align/exp_files/exp_aldir-pers/current.8.prt' "
             "is not possible") in caplog.text
     # Check content of mafft and btr files
     assert not os.path.isfile(mafft_file)
@@ -808,7 +808,7 @@ def test_handle_family_true():
     q.put(None)
     assert "Checking extractions for family 8" in q.get().message
     assert "Aligning family 8" in q.get().message
-    assert ("mafft --auto test/data/align/generated_by_unit-tests/aldir/"
+    assert ("mafft --auto --anysymbol test/data/align/generated_by_unit-tests/aldir/"
             "TESThandlefam-current.8.prt") in q.get().message
     assert "Back-translating family 8" in q.get().message
     # Writes it twice: 1 for nucleic and one for aa
@@ -849,7 +849,7 @@ def test_handle_family_true_nomiss():
     q.put(None)
     assert "Checking extractions for family 8" in q.get().message
     assert "Aligning family 8" in q.get().message
-    assert ("mafft --auto test/data/align/generated_by_unit-tests/aldir/"
+    assert ("mafft --auto --anysymbol test/data/align/generated_by_unit-tests/aldir/"
             "TESThandlefam-current.8.prt") in q.get().message
     assert "Back-translating family 8" in q.get().message
     assert not q.get()
@@ -894,7 +894,7 @@ def test_handle_family_emptyaln_true():
             "and proteins aligned in existing "
             "test/data/align/generated_by_unit-tests/aldir/TESThandlefam-mafft-align.8.aln") in q.get().message
     assert "Aligning family 8" in q.get().message
-    assert ("mafft --auto test/data/align/generated_by_unit-tests/aldir/"
+    assert ("mafft --auto --anysymbol test/data/align/generated_by_unit-tests/aldir/"
             "TESThandlefam-current.8.prt") in q.get().message
     assert "Back-translating family 8" in q.get().message
     assert "Adding missing genomes for family 8 in protein alignment" in q.get().message
-- 
GitLab