Example #1
0
 def write_clustal(self, f):
     """
     write Clustal alignment to a file
     code from Bio.AlingIO.ClustalIO is used
     :param f:
     :return:
     """
     # transform possible unclustal gap characters to dashes
     clustalized_alig = self._clustalize_alignment(self)
     writer = ClustalWriter(f)
     writer.write_alignment(clustalized_alig)
 def test_write_read(self):
     """Checking write/read."""
     alignments = (list(ClustalIterator(StringIO(aln_example1)))
                   + list(ClustalIterator(StringIO(aln_example2))) * 2)
     handle = StringIO()
     self.assertEqual(3, ClustalWriter(handle).write_file(alignments))
     handle.seek(0)
     for i, a in enumerate(ClustalIterator(handle)):
         self.assertEqual(a.get_alignment_length(), alignments[i].get_alignment_length())
 def test_write_read_single(self):
     """Testing write/read when there is only one sequence."""
     alignment = next(ClustalIterator(StringIO(aln_example1)))
     # Now thae just the first row as a new alignment:
     alignment = alignment[0:1]
     handle = StringIO()
     ClustalWriter(handle).write_file([alignment])
     handle.seek(0)
     for i, a in enumerate(ClustalIterator(handle)):
         self.assertEqual(a.get_alignment_length(), alignment.get_alignment_length())
         self.assertEqual(len(a), 1)