def test_run(): parser = argparse.ArgumentParser(description="ILP solver for the Restricted Guided Genome Halving Problem (RGGHP)", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog()) parser.add_argument("-pt", "--paper_test", dest="paper_test", default=None, metavar="PATH", help="The directory with data from the paper. Please use only " "for reproducibility of the paper results") parser.add_argument("-tl", "--time_limit", dest="time_limit", default=7200, required=False, type=int, metavar="NUMBER", help="Time limit for Gurobi solver") parser.add_argument("-v", "--version", action="version", version=version()) args = parser.parse_args() if not os.path.isdir(args.paper_test): parser.error("The directory must exist and have correct structure") args.paper_test = os.path.abspath(args.paper_test) args.log_file = os.path.join(args.paper_test, "rgghp.log") args.gurobi_log_file = os.path.join(args.paper_test, "gurobi_rgghp.log") enable_logging(args.log_file, overwrite=False) do_test_job(args.paper_test, args.gurobi_log_file)
def main(): parser = argparse.ArgumentParser( description="ILP solver for the Double Distance Problem (DDP)", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog()) parser.add_argument("-r", "--ordinary", dest="ordinary", default=None, metavar="PATH", help="Ordinary genome in GRIMM format") parser.add_argument("-t", "--two_dupl", dest="duplicated", default=None, metavar="PATH", help="2-duplicated genome in GRIMM format") parser.add_argument("-o", "--out-dir", dest="out_dir", default=None, required=True, metavar="PATH", help="Output directory") parser.add_argument("-tl", "--time_limit", dest="time_limit", default=7200, required=False, type=int, metavar="NUMBER", help="Time limit for Gurobi solver") parser.add_argument("-v", "--version", action="version", version=version()) args = parser.parse_args() if not os.path.isdir(args.out_dir): os.mkdir(args.out_dir) args.out_dir = os.path.abspath(args.out_dir) args.log_file = os.path.join(args.out_dir, "double_distance.log") args.gurobi_log_file = os.path.join(args.out_dir, "gurobi_double_distance.log") enable_logging(args.log_file, overwrite=False) path_to_ord_genome = os.path.abspath(args.ordinary) path_to_dupl_genome = os.path.abspath(args.duplicated) result_out_file = os.path.join(args.out_dir, "result.txt") solve_double_distance_problem(ord_genome_file=path_to_ord_genome, all_dupl_genome_file=path_to_dupl_genome, out_result_file=result_out_file, gurobi_log_file=args.gurobi_log_file, time_limit=args.time_limit)
def main(): parser = argparse.ArgumentParser( description="ILP solver for the Genome Median Problem (GMP)", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog()) parser.add_argument("-f", "--files", dest="files", default=None, metavar="PATH", nargs=3, help="Three files in GRIMM format") parser.add_argument("-o", "--out-dir", dest="out_dir", default=None, required=True, metavar="PATH", help="Output directory") parser.add_argument("-tl", "--time_limit", dest="time_limit", default=7200, required=False, type=int, metavar="NUMBER", help="Time limit for Gurobi solver") parser.add_argument("-v", "--version", action="version", version=version()) args = parser.parse_args() if not os.path.isdir(args.out_dir): os.mkdir(args.out_dir) args.out_dir = os.path.abspath(args.out_dir) args.log_file = os.path.join(args.out_dir, "gmp.log") args.gurobi_log_file = os.path.join(args.out_dir, "gurobi_gmp.log") enable_logging(args.log_file, overwrite=False) path_to_genomes = [os.path.abspath(f) for f in args.files] result_out_file = os.path.join(args.out_dir, "result.txt") genome_out_file = os.path.join(args.out_dir, "median.gen") medians_without_singletons(genome_files=path_to_genomes, out_result_file=result_out_file, out_median_file=genome_out_file, problem="GMP", gurobi_log_file=args.gurobi_log_file, time_limit=args.time_limit)
def main(): parser = argparse.ArgumentParser(description="ILP solver for the Conserved Guided Genome Halving Problem (CGGHP)", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog()) parser.add_argument("-r", "--ordinary", dest="ordinary", default=None, metavar="PATH", help="Ordinary genome in GRIMM format") parser.add_argument("-t", "--two_dupl", dest="duplicated", default=None, metavar="PATH", help="2-duplicated genome in GRIMM format") parser.add_argument("-o", "--out-dir", dest="out_dir", default=None, required=True, metavar="PATH", help="Output directory") parser.add_argument("-tl", "--time_limit", dest="time_limit", default=7200, required=False, type=int, metavar="NUMBER", help="Time limit for Gurobi solver") parser.add_argument("-v", "--version", action="version", version=version()) args = parser.parse_args() if not os.path.isdir(args.out_dir): os.mkdir(args.out_dir) args.out_dir = os.path.abspath(args.out_dir) args.log_file = os.path.join(args.out_dir, "cgghp.log") args.gurobi_log_file = os.path.join(args.out_dir, "gurobi_cgghp.log") enable_logging(args.log_file, overwrite=False) ordinary_genome_file = os.path.abspath(args.ordinary) all_dupl_genome_file = os.path.abspath(args.duplicated) result_out_file = os.path.join(args.out_dir, "result.txt") genome_out_file = os.path.join(args.out_dir, "pre_dup.gen") halvings_without_singletons(ordinary_genome_file=ordinary_genome_file, all_dupl_genome_file=all_dupl_genome_file, out_result_file=result_out_file, out_predup_file=genome_out_file, problem="CGGHP", gurobi_log_file=args.gurobi_log_file, time_limit=args.time_limit)