def do_eval2pct(eval_file, explained_file): prog = 'eval2pct' args = [ prog ] args.append(eval_file) with open(explained_file, 'w') as fh: gd_util.run_program(prog, args, stdout=fh)
def do_coords2admix(coords_file): prog = 'coords2admix' args = [ prog ] args.append(coords_file) with open('fake', 'w') as fh: gd_util.run_program(prog, args, stdout=fh) shutil.copy2('fake', coords_file)
def do_ploteig(evec_file, population_names): prog = 'gd_ploteig' args = [ prog ] args.append('-i') args.append(evec_file) args.append('-c') args.append('1:2') args.append('-p') args.append(':'.join(population_names)) args.append('-x') gd_util.run_program(prog, args)
def do_smartpca(par_file): prog = 'smartpca' args = [ prog ] args.append('-p') args.append(par_file) stdoutdata, stderrdata = gd_util.run_program(prog, args) stats = [] save_line = False for line in stdoutdata.split('\n'): if line.startswith(('## Average divergence', '## Anova statistics', '## Statistical significance')): stats.append('') save_line = True if line.strip() == '': save_line = False if save_line: stats.append(line) return '\n'.join(stats[1:])
prog = 'offspring_heterozygosity' args = [prog] args.append(input) # a Galaxy SNP table for tag in p1.tag_list(): column, name = tag.split(':') if input_type == 'gd_genotype': column = int(column) - 2 tag = '{0}:{1}:{2}'.format(column, 0, name) args.append(tag) for tag in p2.tag_list(): column, name = tag.split(':') if input_type == 'gd_genotype': column = int(column) - 2 tag = '{0}:{1}:{2}'.format(column, 1, name) args.append(tag) with open(output, 'w') as fh: gd_util.run_program(prog, args, stdout=fh) ################################################################################ sys.exit(0)
################################################################################ prog = 'Fst_column' args = [ prog ] args.append(input) args.append(data_source) args.append(min_reads) args.append(min_qual) args.append(retain) args.append(discard_fixed) args.append(biased) columns = p1.column_list() for column in columns: if input_type == 'gd_genotype': column = int(column) - 2 args.append('{0}:1'.format(column)) columns = p2.column_list() for column in columns: if input_type == 'gd_genotype': column = int(column) - 2 args.append('{0}:2'.format(column)) with open(output, 'w') as fh: gd_util.run_program(prog, args, stdout=fh) sys.exit(0)
prog = 'kinship_prep' args = [ prog ] args.append(input) # a Galaxy SNP table args.append(0) # required number of reads for each individual to use a SNP args.append(0) # required genotype quality for each individual to use a SNP args.append(0) # minimum spacing between SNPs on the same scaffold for tag in p1.tag_list(): if input_type == 'gd_genotype': column, name = tag.split(':') tag = '{0}:{1}'.format(int(column) - 2, name) args.append(tag) gd_util.run_program(prog, args) # kinship.map # kinship.ped # kinship.dat ################################################################################ prog = 'king' args = [ prog ] args.append('-d') args.append('kinship.dat') args.append('-p') args.append('kinship.ped') args.append('-m')
prog = 'admix_prep' args = [prog] args.append(input_snp_filename) args.append(min_reads) args.append(min_qual) args.append(min_spacing) for tag in p1.tag_list(): if input_type == 'gd_genotype': column, name = tag.split(':', 1) tag = '{0}:{1}'.format(int(column) - 2, name) args.append(tag) stdoutdata, stderrdata = gd_util.run_program(prog, args) using_info = stdoutdata.rstrip('\r\n') ################################################################################ gd_util.mkdir_p(output_files_path) output_ped_filename = os.path.join(output_files_path, 'admix.ped') output_map_filename = os.path.join(output_files_path, 'admix.map') shutil.copy2('admix.ped', output_ped_filename) shutil.copy2('admix.map', output_map_filename) do_import(output_filename, output_files_path, min_reads, min_qual, min_spacing, using_info, population_list) sys.exit(0)
prog = 'kinship_prep' args = [prog] args.append(input) # a Galaxy SNP table args.append(0) # required number of reads for each individual to use a SNP args.append(0) # required genotype quality for each individual to use a SNP args.append(0) # minimum spacing between SNPs on the same scaffold for tag in p1.tag_list(): if input_type == 'gd_genotype': column, name = tag.split(':') tag = '{0}:{1}'.format(int(column) - 2, name) args.append(tag) gd_util.run_program(prog, args) # kinship.map # kinship.ped # kinship.dat ################################################################################ prog = 'king' args = [prog] args.append('-d') args.append('kinship.dat') args.append('-p') args.append('kinship.ped') args.append('-m')
prog = 'admix_prep' args = [ prog ] args.append(input_snp_filename) args.append(min_reads) args.append(min_qual) args.append(min_spacing) for tag in p1.tag_list(): if input_type == 'gd_genotype': column, name = tag.split(':', 1) tag = '{0}:{1}'.format(int(column) - 2, name) args.append(tag) stdoutdata, stderrdata = gd_util.run_program(prog, args) using_info = stdoutdata.rstrip('\r\n') ################################################################################ gd_util.mkdir_p(output_files_path) output_ped_filename = os.path.join(output_files_path, 'admix.ped') output_map_filename = os.path.join(output_files_path, 'admix.map') shutil.copy2('admix.ped', output_ped_filename) shutil.copy2('admix.map', output_map_filename) do_import(output_filename, output_files_path, min_reads, min_qual, min_spacing, using_info, population_list) sys.exit(0)