def test_get_tool_path(self): p = ToolPathManager.get_tool_path('more') self.assertEqual(p, 'more') for name in ['dpp-msbayes.pl', 'msbayes.pl', 'msprior', 'dpp-msprior', 'ABCestimator', 'regress_cli.r']: p = ToolPathManager.get_tool_path(name) self.assertEqual(p, os.path.join(ToolPathManager._bin_dir, name))
def test_get_tool_path(self): p = ToolPathManager.get_tool_path('more') self.assertEqual(p, 'more') for name in [ 'dpp-msbayes.pl', 'msbayes.pl', 'msprior', 'dpp-msprior', 'ABCestimator', 'regress_cli.r' ]: p = ToolPathManager.get_tool_path(name) self.assertEqual(p, os.path.join(ToolPathManager._bin_dir, name))
def test_abcestimator(self): summary_path = self.get_test_path(prefix='test-summary-') post_path = self.get_test_path(prefix='test-posterior-') with open(post_path, 'w') as out: stream, close = fileio.process_file_arg(self.posterior_path) for line in stream: out.write('{0}'.format(line)) if close: stream.close() regress_posterior_path = self.get_test_path(prefix='test-adjusted-') regress_worker = workers.ABCToolBoxRegressWorker( temp_fs=self.temp_fs, observed_path=self.sum_stats_path, posterior_path=post_path, parameter_indices=None, regress_summary_path=summary_path, regress_posterior_path=regress_posterior_path, exe_path=None, stdout_path=None, stderr_path=None, keep_temps=False, bandwidth=None, num_posterior_quantiles=100) self.assertFalse(regress_worker.finished) self.assertEqual(regress_worker.exe_path, ToolPathManager.get_tool_path('ABCestimator')) _LOG.info('{0}'.format(regress_worker.exe_path)) regress_worker.start() self.assertTrue(regress_worker.finished) self.assertTrue(os.path.isfile(regress_worker.regress_summary_path)) self.assertTrue(os.path.isfile(regress_worker.regress_posterior_path)) self.assertEqual( self.get_number_of_lines(regress_worker.regress_posterior_path), 101)
def test_abcestimator(self): summary_path = self.get_test_path(prefix='test-summary-') post_path = self.get_test_path(prefix='test-posterior-') with open(post_path, 'w') as out: stream, close = fileio.process_file_arg(self.posterior_path) for line in stream: out.write('{0}'.format(line)) if close: stream.close() regress_posterior_path = self.get_test_path(prefix='test-adjusted-') regress_worker = workers.ABCToolBoxRegressWorker( temp_fs = self.temp_fs, observed_path = self.sum_stats_path, posterior_path = post_path, parameter_indices = None, regress_summary_path = summary_path, regress_posterior_path = regress_posterior_path, exe_path = None, stdout_path = None, stderr_path = None, keep_temps = False, bandwidth = None, num_posterior_quantiles = 100) self.assertFalse(regress_worker.finished) self.assertEqual(regress_worker.exe_path, ToolPathManager.get_tool_path('ABCestimator')) _LOG.info('{0}'.format(regress_worker.exe_path)) regress_worker.start() self.assertTrue(regress_worker.finished) self.assertTrue(os.path.isfile(regress_worker.regress_summary_path)) self.assertTrue(os.path.isfile(regress_worker.regress_posterior_path)) self.assertEqual(self.get_number_of_lines( regress_worker.regress_posterior_path), 101)
def test_dpp_msbayes(self): w = workers.MsBayesWorker(temp_fs=self.temp_fs, sample_size=2, config_path=self.new_cfg_path, schema='abctoolbox') self.assertIsInstance(w, workers.MsBayesWorker) self.assertFalse(w.finished) self.assertEqual(w.exe_path, ToolPathManager.get_tool_path('dpp-msbayes.pl')) self.assertNotEqual(w.exe_path, ToolPathManager.get_tool_path('msbayes.pl')) _LOG.info('{0}'.format(w.exe_path)) w.start() self._assert_msbayes_success(w, 9, 2) self.assertEqual(w.exe_path, ToolPathManager.get_tool_path('dpp-msbayes.pl')) self.assertNotEqual(w.exe_path, ToolPathManager.get_tool_path('msbayes.pl'))
def test_dpp_msbayes(self): w = workers.MsBayesWorker( temp_fs = self.temp_fs, sample_size = 2, config_path = self.new_cfg_path, schema = 'abctoolbox') self.assertIsInstance(w, workers.MsBayesWorker) self.assertFalse(w.finished) self.assertEqual(w.exe_path, ToolPathManager.get_tool_path('dpp-msbayes.pl')) self.assertNotEqual(w.exe_path, ToolPathManager.get_tool_path('msbayes.pl')) _LOG.info('{0}'.format(w.exe_path)) w.start() self._assert_msbayes_success(w, 9, 2) self.assertEqual(w.exe_path, ToolPathManager.get_tool_path('dpp-msbayes.pl')) self.assertNotEqual(w.exe_path, ToolPathManager.get_tool_path('msbayes.pl'))
def test_obsSumStats(self): ss_path = self.get_test_path(prefix='sum-stats') ss_worker = workers.ObsSumStatsWorker( temp_fs=self.temp_fs, config_path=self.cfg_path, output_path=ss_path, exe_path=None, schema='abctoolbox', stat_patterns=parsing.DEFAULT_STAT_PATTERNS, stderr_path=None, tag=None) self.assertFalse(ss_worker.finished) self.assertEqual(ss_worker.exe_path, ToolPathManager.get_tool_path('obsSumStats.pl')) _LOG.info('{0}'.format(ss_worker.exe_path)) ss_worker.start() self.assertTrue(ss_worker.finished) self.assertSameFiles([ss_path, self.sum_stats_path])
def test_obsSumStats(self): ss_path = self.get_test_path(prefix='sum-stats') ss_worker = workers.ObsSumStatsWorker( temp_fs = self.temp_fs, config_path = self.cfg_path, output_path = ss_path, exe_path = None, schema = 'abctoolbox', stat_patterns = parsing.DEFAULT_STAT_PATTERNS, stderr_path = None, tag = None) self.assertFalse(ss_worker.finished) self.assertEqual(ss_worker.exe_path, ToolPathManager.get_tool_path('obsSumStats.pl')) _LOG.info('{0}'.format(ss_worker.exe_path)) ss_worker.start() self.assertTrue(ss_worker.finished) self.assertSameFiles([ss_path, self.sum_stats_path])
def test_eureject(self): post_path = self.get_test_path(prefix='test-posterior-') sum_out_path = self.get_test_path(prefix='test-summary-out-') reject_worker = workers.EuRejectWorker( temp_fs=self.temp_fs, observed_path=self.sum_stats_path, prior_paths=[self.prior_path], num_posterior_samples=2, num_standardizing_samples=10, summary_in_path=None, summary_out_path=sum_out_path, posterior_path=post_path, regression_worker=None, exe_path=None, stderr_path=None, keep_temps=False, tag='testcase') self.assertFalse(reject_worker.finished) self.assertEqual(reject_worker.exe_path, ToolPathManager.get_tool_path('eureject')) _LOG.info('{0}'.format(reject_worker.exe_path)) reject_worker.start() self.assertTrue(reject_worker.finished) self.assertTrue(os.path.isfile(reject_worker.posterior_path)) self.assertEqual( self.get_number_of_lines(reject_worker.posterior_path), 3) self.assertEqual( self.get_number_of_header_lines(reject_worker.posterior_path), 1) self.assertTrue(os.path.isfile(reject_worker.summary_out_path)) self.assertEqual( self.get_number_of_lines(reject_worker.summary_out_path), 4) self.assertEqual( self.get_number_of_header_lines(reject_worker.summary_out_path), 1) self.assertEqual(reject_worker.num_processed, 10) self.assertEqual(reject_worker.num_summarized, 10) self.assertEqual(reject_worker.num_retained, 2) self.assertEqual(reject_worker.prior_paths, reject_worker.rejection_files) self.assertEqual(reject_worker.prior_paths, reject_worker.standardizing_files) self.assertFalse(os.path.exists(reject_worker.stderr_path)) self.assertFalse(os.path.exists(reject_worker.output_dir))
def test_eureject(self): post_path = self.get_test_path(prefix='test-posterior-') sum_out_path = self.get_test_path(prefix='test-summary-out-') reject_worker = workers.EuRejectWorker( temp_fs = self.temp_fs, observed_path = self.sum_stats_path, prior_paths = [self.prior_path], num_posterior_samples = 2, num_standardizing_samples = 10, summary_in_path = None, summary_out_path = sum_out_path, posterior_path = post_path, regression_worker = None, exe_path = None, stderr_path = None, keep_temps = False, tag = 'testcase') self.assertFalse(reject_worker.finished) self.assertEqual(reject_worker.exe_path, ToolPathManager.get_tool_path('eureject')) _LOG.info('{0}'.format(reject_worker.exe_path)) reject_worker.start() self.assertTrue(reject_worker.finished) self.assertTrue(os.path.isfile(reject_worker.posterior_path)) self.assertEqual(self.get_number_of_lines( reject_worker.posterior_path), 3) self.assertEqual(self.get_number_of_header_lines( reject_worker.posterior_path), 1) self.assertTrue(os.path.isfile(reject_worker.summary_out_path)) self.assertEqual(self.get_number_of_lines( reject_worker.summary_out_path), 4) self.assertEqual(self.get_number_of_header_lines( reject_worker.summary_out_path), 1) self.assertEqual(reject_worker.num_processed, 10) self.assertEqual(reject_worker.num_summarized, 10) self.assertEqual(reject_worker.num_retained, 2) self.assertEqual(reject_worker.prior_paths, reject_worker.rejection_files) self.assertEqual(reject_worker.prior_paths, reject_worker.standardizing_files) self.assertFalse(os.path.exists(reject_worker.stderr_path)) self.assertFalse(os.path.exists(reject_worker.output_dir))
def setUp(self): self.file = package_paths.data_path("4pairs_1locus.cfg") self.bogus_file = package_paths.data_path("bogusdatafilename") self.exe = ToolPathManager.get_tool_path('eureject')
def setUp(self): self.file = package_paths.data_path("4pairs_1locus.cfg") self.bogus_file = package_paths.data_path("bogusdatafilename") self.exe = ToolPathManager.get_tool_path('eureject')