def test_toPhylip(self): """Alignment should return PHYLIP string format correctly""" align_norm = Alignment( ['ACDEFGHIKLMNPQRSTUVWY-', 'ACDEFGHIKLMNPQRSUUVWF-', 'ACDEFGHIKLMNPERSKUVWC-', 'ACNEFGHIKLMNPQRS-UVWP-', ]) phylip_str, id_map = align_norm.toPhylip() self.assertEqual(phylip_str, """4 22\nseq0000001 ACDEFGHIKLMNPQRSTUVWY-\nseq0000002 ACDEFGHIKLMNPQRSUUVWF-\nseq0000003 ACDEFGHIKLMNPERSKUVWC-\nseq0000004 ACNEFGHIKLMNPQRS-UVWP-""") self.assertEqual(id_map, {'seq0000004': 3, 'seq0000001': 0, 'seq0000003': 2, 'seq0000002': 1}) align_rag = Alignment( ['ACDEFGHIKLMNPQRSTUVWY-', 'ACDEFGHIKLMNPQRSUUVWF-', 'ACDEFGHIKLMNPERSKUVWC-', 'ACNEFGHIKLMNUVWP-', ]) self.assertRaises(ValueError, align_rag.toPhylip)