Пример #1
0
 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))
Пример #2
0
 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))
Пример #3
0
 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)
Пример #4
0
 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)
Пример #5
0
 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'))
Пример #6
0
 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'))
Пример #7
0
 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])
Пример #8
0
 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])
Пример #9
0
 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))
Пример #10
0
 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))
Пример #11
0
 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')
Пример #12
0
 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')