programs = ["codeml", "baseml", "yn00"] prog = None verbose = False vers = None if len(sys.argv) < 2: print_usage() for arg in sys.argv[1:]: if arg == "-v": verbose = True elif arg in programs: if prog is not None: print("Only one program at a time, please.") print_usage() prog = arg elif arg.replace(".", "_") in VERSIONS: if vers is not None: print("Only one version at a time, sorry.") vers = arg.replace(".", "_") else: print("Unrecognized argument") print_usage() if prog is None: print("No program specified") print_usage() if prog == "codeml": codeml(vers, verbose) elif prog == "baseml": baseml(vers, verbose) elif prog == "yn00": yn00(vers, verbose)
def yn00(): from Bio.Phylo.PAML import yn00 tests = ["yn00"] alignment = os.path.join("Alignments", "alignment.phylip") for test in tests: print test[0] yn = yn00.Yn00() for version in VERSIONS: print "\t{0}".format(version.replace('_', '.')) ctl_file = os.path.join("Control_files", "yn00", "{0}.ctl".format(test)) yn.read_ctl_file(ctl_file) yn.alignment = alignment out_file = "{0}-{1}.out".format(test, version) yn.out_file = os.path.join("Results", "yn00", out_file) bin = "yn00{0}".format(version) yn.run(command=bin, verbose=VERBOSE) if __name__ == "__main__": if len(sys.argv) < 2: sys.exit("specify a paml program") if sys.argv[1] == "codeml": codeml() elif sys.argv[1] == "baseml": baseml() elif sys.argv[1] == "yn00": yn00() else: sys.exit("specify a paml program")