infile = args.infile mapfile = args.map outgroup = args.outgroup triples = parse_triples(args.triples) nind = args.num_ind ntaxa = args.num_taxa nsites = args.num_sites threads = args.threads prefix = args.prefix quiet = args.quiet ignore_amb_sites = args.ignore_amb_sites if not quiet: print("\nRunning individual_hyde_mp.py") # Read data into a HydeData object data = hd.HydeData(infile, mapfile, outgroup, nind, ntaxa, nsites, quiet, ignore_amb_sites) if not quiet: print("\nAnalyzing", len(triples), "triple(s) using", threads, "thread(s).", sep=' ') outpath = hd.expand_prefix(prefix) if os.path.exists(outpath + "-ind.txt"): if not quiet: print("\n** Warning: File '" + outpath + "-ind.txt' already exists. **") if not quiet:
help="supress printing to stdout") args = parser.parse_args() infile = args.infile mapfile = args.map outgroup = args.outgroup triples = parse_triples(args.triples) nind = args.num_ind ntaxa = args.num_taxa nsites = args.num_sites prefix = args.prefix quiet = args.quiet if not quiet: print("\nRunning individual_hyde.py") data = hd.HydeData(infile, mapfile, outgroup, nind, ntaxa, nsites, quiet) # Read data into a HydeData object if not quiet: print("\nAnalyzing", len(triples), "triple(s).", sep=' ') outpath = hd.expand_prefix(prefix) if os.path.exists(outpath + "-ind.txt"): if not quiet: print("\n** Warning: File '" + outpath + "-ind.txt' already exists. **") if not quiet: print("** Renaming to '" + outpath + "-ind-old.txt'. **\n") os.rename(outpath + "-ind.txt", outpath + "-ind-old.txt") outfile = open(outpath + "-ind.txt", 'a') else:
# get partial paths of every phylip input file in paths (these end in seqgen.out) phylip_paths = [] numTrees = ["knownGT/n10/seqgen/", "knownGT/n15/seqgen/", "n25h5/", "n50h10/", "n100h25/"] for tree_nums in numTrees: for subfolder in os.listdir(input_path + tree_nums): try: for f in os.listdir(input_path + tree_nums + subfolder): if ".phylip" in f: phylip_paths.append(tree_nums + subfolder + "/" + f) except OSError: print("") # do nothing # the top of the phylip files should have the number of taxa and number of sites: # note that hyde documentation says that "it is typically difficult to detect hybridization # using less than 10,000 sites" print("hello") for file in phylip_paths: # create mapfile? num_taxa = num_sites = num_individuals = num_taxa # ? print("dat1") dat = hd.HydeData(file, file, "10", 10, 10, 500) print("dat")
#!/usr/bin/env python from __future__ import print_function import phyde as hd print("HyDe version: ", hd.__version__, sep='') print("\n**** Test 1: Data import. ****") data = hd.HydeData("data.txt", "map.txt", "out", 16, 4, 50000) print("**** Good. ****") print("\n**** Test 2: Running test_triple(). ****") print(data.test_triple('sp1', 'sp2', 'sp3')) print("**** Good. ****") print("\n**** Test 3: Running test_individuals(). ****") print(data.test_individuals('sp1', 'sp2', 'sp3')) print("**** Good. ****") print("\n**** Test 4: Running bootstrap_triple(). ****") print(data.bootstrap_triple('sp1', 'sp2', 'sp3', 20)) print("**** Good. ****") print("\n**** Test 5: Reading in HyDe results. ****") res2 = hd.HydeResult("../hyde-out.txt") print("**** Good. ****") print("\n**** Test 6: Testing ABBA-BABA on HydeResult object. ****") print(res2.abba_baba("sp1", "sp2", "sp3")) print("**** Good. ****")