def test_cmbuild_from_alignment(self):
     """cmbuild_from_alignment should work as expected.
     """
     #Test unaligned seqs and unaligned struct fail.
     #DataError should be raised with Alignment is constructed
     self.assertRaises(DataError,cmbuild_from_alignment,\
         self.seqs1_unaligned,self.struct1_unaligned_string)
         
     #Test aligned seqs and unaligned struct fail.
     self.assertRaises(ValueError,cmbuild_from_alignment,\
         self.seqs2_aligned,self.struct1_unaligned_string)
     
     #Test get cm back without alignment.
     cm_res = cmbuild_from_alignment(self.seqs2_aligned,\
         self.struct2_aligned_string)
     cm_lines = cm_res.split('\n')
     ALN1_CM_lines = ALN1_CM.split('\n')
     #Check that the same number of lines are in both CMs
     self.assertEqual(len(cm_lines),len(ALN1_CM_lines))
     
     #The first 13 lines are unique to the specific run.  The res of the
     # CM should be the same, since built from the same data.
     self.assertEqual(cm_lines[13:],ALN1_CM_lines[13:])
     
     #Make sure same alignment is returned if return_alignment=True
     cm_res, cm_aln = cmbuild_from_alignment(self.seqs2_aligned,\
         self.struct2_aligned_string,return_alignment=True)
     self.assertEqual(cm_aln,self.lines2)
 def test_cmbuild_from_file(self):
     """cmbuild_from_file should work as expected.
     """
     cm_res = cmbuild_from_file(self.temp_dir+'/seqs1.sto')
     cm_lines = cm_res.split('\n')
     ALN1_CM_lines = ALN1_CM.split('\n')
     #Check that the same number of lines are in both CMs
     self.assertEqual(len(cm_lines),len(ALN1_CM_lines))
     
     #The first 13 lines are unique to the specific run.  The res of the
     # CM should be the same, since built from the same data.
     self.assertEqual(cm_lines[13:],ALN1_CM_lines[13:])
     
     #Make sure same alignment is returned if return_alignment=True
     cm_res, cm_aln = cmbuild_from_alignment(self.seqs2_aligned,\
         self.struct2_aligned_string,return_alignment=True)
     self.assertEqual(cm_aln,self.lines2)