コード例 #1
0
 def testParseModel(self):
     res_dir = os.path.join(self.results_dir, "baseml", "model")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         model = results_file[5]
         version_msg = "Improper parsing for model %s version %s" \
                     % (model, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         self.assertTrue("alpha" in params, version_msg)
         self.assertTrue("rates" in params, version_msg)
         self.assertTrue("parameter list" in params, version_msg)
         self.assertTrue("rate frequencies" in params, version_msg)
         if model in ["1", "3", "4", "5", "6"]:
             self.assertTrue("kappa" in params, version_msg)
         if model in ["7", "8"]:
             self.assertTrue("base frequencies" in params, version_msg)
             self.assertTrue("rate parameters" in params, version_msg)
             self.assertTrue("Q matrix" in params, version_msg)
             qmat = params["Q matrix"]
             self.assertEqual(len(qmat), 2, version_msg)
             self.assertTrue("matrix" in qmat)
             matrix = qmat["matrix"]
             self.assertEqual(len(matrix), 4, version_msg)
             self.assertEqual(len(matrix[0]), 4, version_msg)
コード例 #2
0
 def testParseModel(self):
     res_dir = os.path.join(self.results_dir, "baseml", "model")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         model = results_file[5]
         version_msg = "Improper parsing for model %s version %s" \
                     % (model, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         self.assertTrue("alpha" in params, version_msg)
         self.assertTrue("rates" in params, version_msg)
         self.assertTrue("parameter list" in params, version_msg)
         self.assertTrue("rate frequencies" in params, version_msg)
         if model in ["1", "3", "4", "5", "6"]:
             self.assertTrue("kappa" in params, version_msg)
         if model in ["7", "8"]:
             self.assertTrue("base frequencies" in params, version_msg)
             self.assertTrue("rate parameters" in params, version_msg)
             self.assertTrue("Q matrix" in params, version_msg)
             qmat = params["Q matrix"]
             self.assertEqual(len(qmat), 2, version_msg)
             self.assertTrue("matrix" in qmat)
             matrix = qmat["matrix"]
             self.assertEqual(len(matrix), 4, version_msg)
             self.assertEqual(len(matrix[0]), 4, version_msg)
コード例 #3
0
 def testParseAllVersions(self):
     folder = os.path.join("PAML","Results", "baseml", "versions")
     for results_file in os.listdir(folder):
         file_path = os.path.join(folder, results_file)
         if os.path.isfile(file_path) and results_file[:6] == "baseml":
             results = baseml.read(file_path)
             self.assertEqual(len(results), 6)
             self.assertEqual(len(results["parameters"]), 7)
コード例 #4
0
 def testParseAllVersions(self):
     folder = os.path.join("PAML", "Results", "baseml", "versions")
     for results_file in os.listdir(folder):
         file_path = os.path.join(folder, results_file)
         if os.path.isfile(file_path) and results_file[:6] == "baseml":
             results = baseml.read(file_path)
             self.assertEqual(len(results), 6)
             self.assertEqual(len(results["parameters"]), 7)
コード例 #5
0
 def testParseSEs(self):
     res_dir = os.path.join(self.results_dir, "baseml", "SE")
     for results_file in os.listdir(res_dir):
         version = results_file.split("-")[1].split(".")[0]
         version_msg = f"Improper parsing for version {version.replace('_', '.')}"
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertIn("parameters", results, version_msg)
         params = results["parameters"]
         self.assertIn("SEs", params, version_msg)
コード例 #6
0
 def testParseSEs(self):
     res_dir = os.path.join(self.results_dir, "baseml", "SE")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         version_msg = "Improper parsing for version %s" \
                     % version.replace('_', '.')
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         self.assertTrue("SEs" in params, version_msg)
コード例 #7
0
 def testParseNhomo(self):
     res_dir = os.path.join(self.results_dir, "baseml", "nhomo")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         n = results_file[5]
         version_msg = "Improper parsing for nhomo %s version %s" \
                     % (n, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         if n == "1":
             self.assertTrue("base frequencies" in params, version_msg)
         else:
             self.assertTrue("nodes" in params)
             nodes = params["nodes"]
             self.assertEqual(len(nodes), 8, version_msg)
             self.assertEqual(len(nodes[1]), 2, version_msg)
コード例 #8
0
 def testParseNhomo(self):
     res_dir = os.path.join(self.results_dir, "baseml", "nhomo")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         n = results_file[5]
         version_msg = "Improper parsing for nhomo %s version %s" \
                     % (n, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         if n == "1":
             self.assertTrue("base frequencies" in params, version_msg)
         else:
             self.assertTrue("nodes" in params)
             nodes = params["nodes"]
             self.assertEqual(len(nodes), 8, version_msg)
             self.assertEqual(len(nodes[1]), 2, version_msg)
コード例 #9
0
 def testParseAlpha1Rho1(self):
     # Test the auto-discrete gamma model
     # Cannot test for baseml 4.3-4.5 due to bug in the program which
     # prevents this analysis from completing
     res_dir = os.path.join(self.results_dir, "baseml", "alpha1rho1")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         model = results_file[5]
         version_msg = "Improper parsing for model %s version %s" \
                     % (model, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         self.assertTrue("rho" in params, version_msg)
         self.assertTrue("transition probs." in params, version_msg)
         trans_p = params["transition probs."]
         self.assertEqual(len(trans_p), 5, version_msg)
         self.assertEqual(len(trans_p[0]), 5, version_msg)
コード例 #10
0
 def testParseAlpha1Rho1(self):
     # Test the auto-discrete gamma model
     # Cannot test for baseml 4.3-4.5 due to bug in the program which
     # prevents this analysis from completing
     res_dir = os.path.join(self.results_dir, "baseml", "alpha1rho1")
     for results_file in os.listdir(res_dir):
         version = results_file.split('-')[1].split('.')[0]
         model = results_file[5]
         version_msg = "Improper parsing for model %s version %s" \
                     % (model, version.replace('_', '.'))
         results_path = os.path.join(res_dir, results_file)
         results = baseml.read(results_path)
         # There are 6 top-levels: parameters, tree, lnL, version,
         # tree length and lnL max
         self.assertEqual(len(results), 6, version_msg)
         self.assertTrue("parameters" in results, version_msg)
         params = results["parameters"]
         self.assertTrue("rho" in params, version_msg)
         self.assertTrue("transition probs." in params, version_msg)
         trans_p = params["transition probs."]
         self.assertEqual(len(trans_p), 5, version_msg)
         self.assertEqual(len(trans_p[0]), 5, version_msg)
コード例 #11
0
 def testParseSEs(self):
     SE_results_file = os.path.join("PAML", "Results", "baseml",
                                    "baseml_SE.out")
     SE_results = baseml.read(SE_results_file)
     SE_parameters = SE_results.get("parameters")
     self.assertNotEqual(SE_parameters.get("SEs"), None)
コード例 #12
0
ファイル: test_PAML_baseml.py プロジェクト: starius/biopython
 def testParseSEs(self):
     SE_results_file = os.path.join("PAML", "Results", "baseml",
                                    "baseml_SE.out")
     SE_results = baseml.read(SE_results_file)
     SE_parameters = SE_results.get("parameters")
     self.assertNotEqual(SE_parameters.get("SEs"), None)