Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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')
Exemplo n.º 8
0
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)