From 2b49db760fa4000e65fbe8fb018459b36ddf3082 Mon Sep 17 00:00:00 2001
From: Tobias Schmidt <tobias.schmidt@unibas.ch>
Date: Wed, 3 Nov 2010 15:51:07 +0100
Subject: [PATCH] fixed clustalw binding, additional unittest

---
 modules/bindings/pymod/clustalw.py      | 4 ++--
 modules/bindings/tests/test_clustalw.py | 9 +++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/modules/bindings/pymod/clustalw.py b/modules/bindings/pymod/clustalw.py
index e737cea57..6f0434da5 100644
--- a/modules/bindings/pymod/clustalw.py
+++ b/modules/bindings/pymod/clustalw.py
@@ -13,8 +13,8 @@ def ClustalW(seq1, seq2=None, clustalw=None, keep_files=False, nopgap=False):
       seq_list.AddSequence(seq1)
       seq_list.AddSequence(seq2)
     elif isinstance(seq1, str) and isinstance(seq2, str):
-      seqh1=CreateSequence("seq1", seq1)
-      seqh2=CreateSequence("seq2", seq2)
+      seqh1=seq.CreateSequence("seq1", seq1)
+      seqh2=seq.CreateSequence("seq2", seq2)
       seq_list=seq.CreateSequenceList()
       seq_list.AddSequence(seqh1)
       seq_list.AddSequence(seqh2)
diff --git a/modules/bindings/tests/test_clustalw.py b/modules/bindings/tests/test_clustalw.py
index cf8b2753e..010b636eb 100644
--- a/modules/bindings/tests/test_clustalw.py
+++ b/modules/bindings/tests/test_clustalw.py
@@ -15,6 +15,8 @@ class TestClustalWBindings(unittest.TestCase):
     self.pw_alignment = io.LoadAlignment("testfiles/pairwise_aln.fasta")
     self.nopgap_pw_alignment = io.LoadAlignment("testfiles/nopgap_pairwise_aln.fasta")
     self.mult_alignment = io.LoadAlignment("testfiles/multiple_aln.fasta")
+    self.strseq1 = self.targetseq.GetGaplessString()
+    self.strseq2 = self.templseq.GetGaplessString()
     
   def testPairwiseClustalW(self):
     aln=clustalw.ClustalW(self.targetseq, self.templseq)
@@ -36,6 +38,13 @@ class TestClustalWBindings(unittest.TestCase):
     assert self.mult_alignment.ToString(80) == aln.ToString(80), \
            "Multiple alignment differs from precomputed one"
 
+  def testStringClustalW(self):
+    aln=clustalw.ClustalW(self.strseq1, self.strseq2)
+    aln.SetSequenceName(0,self.targetseq.GetName())
+    aln.SetSequenceName(1,self.templseq.GetName())
+    assert self.pw_alignment.ToString(80) == aln.ToString(80), \
+           "Pairwise alignment using two strings differs from precomputed one \n%s \n%s" \
+           %(self.pw_alignment.ToString(80),aln.ToString(80))
 
 if __name__ == "__main__":
   # test if clustalw package is available on system, otherwise ignore tests
-- 
GitLab