def main(): usage = "%prog [options] <TREES FILE> [<TREES FILE> [<TREES FILE> [...]]" parser = OptionParser(usage=usage, add_help_option=True) parser.add_option('-s', '--schema', action='store', dest='schema', default="nexus/newick", help="file format of trees (default = '%s')") parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, help="suppress progress messages") (opts, args) = parser.parse_args() support_filepaths = [] missing = False for fpath in args: fpath = os.path.expanduser(os.path.expandvars(fpath)) if not os.path.exists(fpath): sys.stderr.write('File not found: "%s".\n' % fpath) missing = True else: support_filepaths.append(fpath) if len(support_filepaths) == 0: sys.stderr.write("No valid tree files specified or found.\n") sys.exit(1) start_time = datetime.datetime.now() total_trees_read = 0 for t in multi_tree_source_iter(support_filepaths, schema=opts.schema): total_trees_read += 1 end_time = datetime.datetime.now() parse_time = end_time - start_time hours, mins, secs = str(end_time - start_time).split(":") parse_seconds = float(hours * 3600) + float(mins * 60) + float(secs) if not not opts.verbose: sys.stderr.write("---\n\n") sys.stdout.write("%s\t%s\n" % ((", ".join(support_filepaths)), parse_seconds)) if not not opts.verbose: sys.stderr.write("\nTotal trees parsed: %d\n" % total_trees_read) sys.stderr.write(" Began at: %s.\n" % (start_time.isoformat(' '))) sys.stderr.write(" Ended at: %s.\n" % (end_time.isoformat(' '))) sys.stderr.write( " Parse time: %s hour(s), %s minute(s), %s second(s).\n" % (hours, mins, secs)) sys.stderr.write(" [= %s seconds]\n" % parse_seconds)
def testMixedNexusAndNewickSameTaxa(self): filenames = [datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus")] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set for idx, test_tree in enumerate(dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set)): self.assertDistinctButEqualTree(self.next_ref_tree(), test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 43)
def main(): usage = "%prog [options] <TREES FILE> [<TREES FILE> [<TREES FILE> [...]]" parser = OptionParser(usage=usage, add_help_option=True) parser.add_option('-s', '--schema', action='store', dest='schema', default="nexus/newick", help="file format of trees (default = '%s')") parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, help="suppress progress messages") (opts, args) = parser.parse_args() support_filepaths = [] missing = False for fpath in args: fpath = os.path.expanduser(os.path.expandvars(fpath)) if not os.path.exists(fpath): sys.stderr.write('File not found: "%s".\n' % fpath) missing = True else: support_filepaths.append(fpath) if len(support_filepaths) == 0: sys.stderr.write("No valid tree files specified or found.\n") sys.exit(1) start_time = datetime.datetime.now() total_trees_read = 0 for t in multi_tree_source_iter(support_filepaths, schema=opts.schema): total_trees_read += 1 end_time = datetime.datetime.now() parse_time = end_time-start_time hours, mins, secs = str(end_time-start_time).split(":") parse_seconds = float(hours * 3600) + float(mins * 60) + float(secs) if not not opts.verbose: sys.stderr.write("---\n\n") sys.stdout.write("%s\t%s\n" % ((", ".join(support_filepaths)), parse_seconds)) if not not opts.verbose: sys.stderr.write("\nTotal trees parsed: %d\n" % total_trees_read) sys.stderr.write(" Began at: %s.\n" % (start_time.isoformat(' '))) sys.stderr.write(" Ended at: %s.\n" % (end_time.isoformat(' '))) sys.stderr.write(" Parse time: %s hour(s), %s minute(s), %s second(s).\n" % (hours, mins, secs)) sys.stderr.write(" [= %s seconds]\n" % parse_seconds)
def testBurnIn(self): filenames = [datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus")] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set self.ref_index = 5 for idx, test_tree in enumerate(dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set, tree_offset=5)): check_tree = self.next_ref_tree(restart_index=5) self.assertDistinctButEqualTree(check_tree, test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 23)
def testMixedNexusAndNewickSameTaxa(self): filenames = [ datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus") ] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set for idx, test_tree in enumerate( dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set)): self.assertDistinctButEqualTree(self.next_ref_tree(), test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 43)
def testBurnIn(self): filenames = [ datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus"), datagen.reference_trees_filename(schema="newick"), datagen.reference_trees_filename(schema="nexus") ] filepaths = [pathmap.tree_source_path(f) for f in filenames] taxon_set = self.ref_tree_list.taxon_set self.ref_index = 5 for idx, test_tree in enumerate( dataio.multi_tree_source_iter(filepaths, schema="nexus/newick", taxon_set=taxon_set, tree_offset=5)): check_tree = self.next_ref_tree(restart_index=5) self.assertDistinctButEqualTree(check_tree, test_tree, distinct_taxa=False, ignore_taxon_order=True) self.assertEqual(idx, 23)