def test_get_task_list_for_stage_postevaluation(self): temp_dir = tempfile.mkdtemp() try: theargs = D3RParameters() theargs.latest_weekly = temp_dir theargs.stage = celpprunner.POST_EVAL t_list = celpprunner.get_task_list_for_stage(theargs, theargs.stage) self.assertEqual(len(t_list), 1) self.assertEqual(t_list[0].get_name(), 'postevaluation') # try this time with email set theargs.email = '[email protected],[email protected]' t_list = celpprunner.get_task_list_for_stage(theargs, theargs.stage) self.assertEqual(len(t_list), 1) self.assertEqual(t_list[0].get_name(), 'postevaluation') # try this time with both set theargs.email = '[email protected],[email protected]' theargs.summaryemail = '[email protected],[email protected]' t_list = celpprunner.get_task_list_for_stage(theargs, theargs.stage) self.assertEqual(len(t_list), 1) self.assertEqual(t_list[0].get_name(), 'postevaluation') finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_for_scoring_stage_with_nonefound(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() params.latest_weekly = temp_dir try: celpprunner.get_task_list_for_stage(params, 'evaluation') except NotImplementedError as e: self.assertEqual(e.message, 'uh oh no tasks for evaluation stage') finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_extsubmission(self): temp_dir = tempfile.mkdtemp() try: theargs = D3RParameters() theargs.pdbdb = '/pdbdb' theargs.latest_weekly = temp_dir theargs.stage = 'extsubmission' try: celpprunner.get_task_list_for_stage(theargs, 'extsubmission') self.fail('expected NotImplementedError') except NotImplementedError: pass finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_for_scoring_stage_with_twofound(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() blasttask = BlastNFilterTask(temp_dir, params) blasttask.create_dir() open(os.path.join(blasttask.get_dir(), D3RTask.COMPLETE_FILE), 'a').close() params.latest_weekly = temp_dir glidedir = os.path.join(temp_dir, EvaluationTaskFactory.DOCKSTAGE_PREFIX + 'glide') os.mkdir(glidedir) open(os.path.join(glidedir, D3RTask.COMPLETE_FILE), 'a').close() freddir = os.path.join(temp_dir, EvaluationTaskFactory.DOCKSTAGE_PREFIX + 'fred') os.mkdir(freddir) open(os.path.join(freddir, D3RTask.COMPLETE_FILE), 'a').close() task_list = celpprunner.get_task_list_for_stage(params, 'evaluation') self.assertEqual(len(task_list), 2) finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_for_scoring_stage_with_onefound(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() params.latest_weekly = temp_dir glidedir = os.path.join( temp_dir, EvaluationTaskFactory.DOCKSTAGE_PREFIX + 'glide') os.mkdir(glidedir) open(os.path.join(glidedir, D3RTask.COMPLETE_FILE), 'a').close() task_list = celpprunner.get_task_list_for_stage( params, 'evaluation') self.assertEqual(len(task_list), 1) self.assertEqual(task_list[0].get_name(), 'glide.evaluation') finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_createchallenge(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() params.latest_weekly = temp_dir task_list = celpprunner.get_task_list_for_stage( params, celpprunner.CREATE_CHALLENGE) self.assertEqual(len(task_list), 4) self.assertEqual(task_list[0].get_name(), TestCelppRunner.MAKEDB_NAME) self.assertEqual(task_list[1].get_name(), TestCelppRunner.IMPORT_NAME) self.assertEqual(task_list[2].get_name(), TestCelppRunner.BLAST_NAME) self.assertEqual(task_list[3].get_name(), TestCelppRunner.CHALL_NAME) finally: shutil.rmtree(temp_dir)
def test_get_task_list_for_stage_with_valid_stages(self): params = D3RParameters() params.latest_weekly = 'foo' task_list = celpprunner.get_task_list_for_stage(params, 'blast') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.BLAST_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'proteinligprep') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.PROT_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'import') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.IMPORT_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'glide') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.GLIDE_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'vina') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.VINA_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'challengedata') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.CHALL_DIR_NAME)) task_list = celpprunner.get_task_list_for_stage(params, 'chimeraprep') self.assertEquals(len(task_list), 1) self.assertEquals(task_list[0].get_dir(), os.path.join('foo', TestCelppRunner.CHIMERAPREP_DIR_NAME))
def test_get_task_list_for_stage_with_invalid_stage_name(self): try: celpprunner.get_task_list_for_stage(D3RParameters(), None) self.fail('Expected exception') except NotImplementedError as e: self.assertEquals(e.message, 'stage_name is None') try: celpprunner.get_task_list_for_stage(D3RParameters(), '') self.fail('Expected exception') except NotImplementedError as e: self.assertEquals(e.message, 'uh oh no tasks for stage') try: celpprunner.get_task_list_for_stage(D3RParameters(), 'foo') self.fail('Expected exception') except NotImplementedError as e: self.assertEquals(e.message, 'uh oh no tasks for foo stage')