Пример #1
0
    def test_handles_cwltool_failures(self, mock_cwl_main):
        p = PredictionRunner(self.sequence, self.model, self.config,
                             self.models_dir, self.output_dir)

        def side_effect(args, stdout, stderr):
            print >> stderr, 'error in cwl_main'
            return 1

        mock_cwl_main.side_effect = side_effect
        with self.assertRaises(RunnerException):
            p.run()
            self.assertTrue(mock_cwl_main.called)
Пример #2
0
    def test_runs_cwltool_gets_output(self, mock_cwl_main):
        p = PredictionRunner(self.sequence, self.model, self.config,
                             self.models_dir, self.output_dir)

        def side_effect(args, stdout, stderr):
            print >> stdout, '{"predictions":{"path": "/preds.bed","class": "File","size": 124}}'
            return 0

        mock_cwl_main.side_effect = side_effect
        result = p.run()
        self.assertTrue(mock_cwl_main.called)
        self.assertEqual(result['path'], '/preds.bed')
Пример #3
0
 def run(self, sequence_file, model_identifier):
     if '_vs_' in model_identifier:
         strategy = PredictionRunner.strategy_preference
         config_file = self.config.preferences_config_file
     else:
         strategy = PredictionRunner.strategy_predict
         config_file = self.config.predictions_config_file
     runner = PredictionRunner(sequence_file,
                               model_identifier,
                               config_file,
                               self.config.model_files_dir,
                               self.config.output_dir,
                               strategy)
     return self.extract_predictions(runner.run())
Пример #4
0
 def test_generates_ooutput_file_name(self):
     p = PredictionRunner(self.sequence, self.model, self.config,
                          self.models_dir, self.output_dir)
     output_file_name = p.output_file_name
     self.assertIn('.bed', output_file_name)
     self.assertIn(self.model, output_file_name)
Пример #5
0
 def test_fails_with_missing_config(self):
     with self.assertRaises(ValueError):
         PredictionRunner(self.sequence, self.model, None, self.models_dir,
                          self.output_dir)
Пример #6
0
 def test_writes_json_order(self):
     p = PredictionRunner(self.sequence, self.model, self.config,
                          self.models_dir, self.output_dir)
     p.write_json_order()