示例#1
0
    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)
示例#2
0
 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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
 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)
示例#6
0
    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)
示例#7
0
    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))
示例#8
0
    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')