subcluster_radius_thresholds = set( [ens['subcluster_radius_threshold'] for ens in ensembles_data if ens['cluster_num'] == i]) self.assertTrue(side_chain_treatments.issubset(sidechains), side_chain_treatments) self.assertTrue(subcluster_radius_thresholds.issubset(radii), subcluster_radius_thresholds) self.assertTrue(self.AMPLE_DICT['AMPLE_finished']) self.assertGreater(len(self.AMPLE_DICT['mrbump_results']), 0, "No MRBUMP results") SHELXE_CC = 15 # use lower as we can't guarantee it will succeed but should check something sensible is produced self.assertGreater(self.AMPLE_DICT['mrbump_results'][0]['SHELXE_CC'], SHELXE_CC, "SHELXE_CC criteria not met") # Check some random benchmarking data self.assertTrue(os.path.isfile(os.path.join(self.AMPLE_DICT['benchmark_dir'], 'results.csv')), "Missing benchmark results.csv") result = self.AMPLE_DICT['benchmark_results'][0] self.assertTrue(result['MR_program'], 'PHASER') self.assertTrue(result['native_pdb_solvent_content'], 47.67) TEST_DICT['coiled_coil_existing_models'] = { 'args': args_coiled_coil_existing, 'test': AMPLETest, } ############################################################################### # # End Test Setup # ############################################################################### if __name__ == '__main__': test_funcs.parse_args(TEST_DICT)
# Test class that holds the functions to test the RESULTS_PKL file that will be passed in class AMPLETest(AMPLEBaseTest): def test_from_quark_models(self): self.assertTrue(self.AMPLE_DICT['AMPLE_finished']) nmodels = len(glob.glob( os.path.join(self.AMPLE_DICT['models_dir'], "*.pdb") )) self.assertEqual(nmodels, 200, "Only {0} models produced".format(nmodels)) self.assertIn('ensembles', self.AMPLE_DICT) nensembles = len(self.AMPLE_DICT['ensembles']) # number was 35 - changed 19/10/17 with CCP4 7.0.44 linux # number was 30 - changed 10/5/18 with CCP4 7.0.55 linux ref_nensembles = 18 if self.AMPLE_DICT["use_scwrl"] else 35 # unmod ensembles without side-chains - Scwrl4 required msg = "Incorrect number of ensembles produced: {0} vs {1}".format(nensembles, ref_nensembles) self.assertEqual(nensembles, ref_nensembles, msg) TEST_DICT['from_quark_models'] = { 'args': args_from_quark_models, 'test': AMPLETest, } ############################################################################### # # End Test Setup # ############################################################################### if __name__ == '__main__': test_funcs.parse_args(TEST_DICT)