Ejemplo n.º 1
0
# Constants
wrap.add('seed', [config['seed']], create_dir=False)
wrap.add('refseq', [config['community']['seq']], create_dir=False)
wrap.add('wgs_read_length', [config['wgs_read_length']], create_dir=False)
wrap.add('wgs_insert_length', [config['wgs_insert_length']], create_dir=False)
wrap.add('wgs_insert_sd', [config['wgs_insert_sd']], create_dir=False)
wrap.add('wgs_base', [config['wgs_base']],  create_dir=False)

# Variation
genomes = appconfig.find_files(config['community']['folder'], config['community']['seq'])
commPaths = [os.path.dirname(pn) for pn in genomes]
wrap.add('community', commPaths)

tableFolder = os.path.join(config['reference']['folder'], config['reference']['table_folder'])
tablePaths = appconfig.get_files(tableFolder, 'table')
wrap.add('comm_table', tablePaths, label_func=os.path.basename)

wrap.add('wgs_xfold', config['wgs_xfold'])

@wrap.add_target('run_quast')
@name_targets
def generate_wgs(outdir, c):

    asm_path = os.path.join(config['wgs_folder'], '/'.join(outdir.split('/')[1:]), config['wgs_asmdir'])
    ctg_file = '{0}/{1}.contigs.fasta'.format(asm_path, config['wgs_base'])
    sources = ['{1[community][folder]}/{0[community]}/{0[refseq]}'.format(c, config), ctg_file]
    target = os.path.join(outdir, 'quast/summary/report.html')

    action = exec_env.resolve_action({
        'sge': 'bin/sgerun_QUAST.sh $SOURCES.abspath $TARGET.abspath'.format(c, od=outdir)
Ejemplo n.º 2
0
env = Environment(ENV=os.environ)

# Constants
wrap.add("seed", [config["seed"]], create_dir=False)
wrap.add("refseq", [config["community"]["seq"]], create_dir=False)
wrap.add("hic_base", [config["hic_base"]], create_dir=False)
wrap.add("hic_inter_prob", [config["hic_inter_prob"]], create_dir=False)
wrap.add("hic_read_length", [config["hic_read_length"]], create_dir=False)

# Variation
genomes = appconfig.find_files(config["community"]["folder"], config["community"]["seq"])
commPaths = [os.path.dirname(pn) for pn in genomes]
wrap.add("community", commPaths)

tableFolder = os.path.join(config["reference"]["folder"], config["reference"]["table_folder"])
tablePaths = appconfig.get_files(tableFolder, "table")
wrap.add("comm_table", tablePaths, label_func=os.path.basename)

wrap.add("hic_n_frag", config["hic_n_frag"])


@wrap.add_target("generate_hic")
def generate_hic(outdir, c):
    source = "{1[community][folder]}/{0[community]}/{0[refseq]}".format(c, config)
    target = "{od}/{0[hic_base]}.fasta".format(c, od=outdir)
    action = (
        "bin/pbsrun_HiC.sh "
        "{0[seed]} {0[hic_n_frag]} {0[hic_read_length]} {0[hic_inter_prob]} "
        "{0[comm_table]} $SOURCE.abspath $TARGET.abspath".format(c)
    )
    return env.Command(target, source, action)
Ejemplo n.º 3
0
wrap.add('seed', [config['seed']], create_dir=False)
wrap.add('refseq', [config['community']['seq']], create_dir=False)
wrap.add('wgs_read_length', [config['wgs_read_length']], create_dir=False)
wrap.add('wgs_insert_length', [config['wgs_insert_length']], create_dir=False)
wrap.add('wgs_insert_sd', [config['wgs_insert_sd']], create_dir=False)
wrap.add('wgs_base', [config['wgs_base']], create_dir=False)

# Variation
genomes = appconfig.find_files(config['community']['folder'],
                               config['community']['seq'])
commPaths = [os.path.dirname(pn) for pn in genomes]
wrap.add('community', commPaths)

tableFolder = os.path.join(config['reference']['folder'],
                           config['reference']['table_folder'])
tablePaths = appconfig.get_files(tableFolder, 'table')
wrap.add('comm_table', tablePaths, label_func=os.path.basename)

wrap.add('wgs_xfold', config['wgs_xfold'])


@wrap.add_target('run_quast')
@name_targets
def generate_wgs(outdir, c):

    asm_path = os.path.join(config['wgs_folder'],
                            '/'.join(outdir.split('/')[1:]),
                            config['wgs_asmdir'])
    ctg_file = '{0}/{1}.contigs.fasta'.format(asm_path, config['wgs_base'])
    sources = [
        '{1[community][folder]}/{0[community]}/{0[refseq]}'.format(c, config),
Ejemplo n.º 4
0
env = Environment(ENV=os.environ)

# Constants
wrap.add('seed', [config['seed']], create_dir=False)
wrap.add('genomes', [config['community']['seq']], create_dir=False)
wrap.add('basis_seq', [config['reference']['raw_seq']], create_dir=False)
wrap.add('seq_len', [config['reference']['seq_len']], create_dir=False)
wrap.add('sg_scale', [config['reference']['sg_scale']], create_dir=False)

# Variation

# trees are sourced from folder
seqFolder = os.path.join(config['reference']['folder'])
treeFolder = os.path.join(config['reference']['folder'],
                          config['reference']['tree_folder'])
treePaths = appconfig.get_files(treeFolder, config['reference']['tree_suffix'])
wrap.add('tree', treePaths, label_func=os.path.basename)

# scale divergence of tree evenly across log space
wrap.add('branch_length', [
    '{:.4e}'.format(n) for n in np.logspace(
        start=math.log(config['reference']['tree_scale']['max']),
        stop=math.log(config['reference']['tree_scale']['min']),
        num=config['reference']['tree_scale']['steps'],
        base=math.e,
        endpoint=True).tolist()
])


@wrap.add_target('generate_set')
def generate_set(outdir, c):
Ejemplo n.º 5
0
wrap = SConsWrap(nest, config["community"]["folder"])
env = Environment(ENV=os.environ)

# Constants
wrap.add("seed", [config["seed"]], create_dir=False)
wrap.add("genomes", [config["community"]["seq"]], create_dir=False)
wrap.add("basis_seq", [config["reference"]["raw_seq"]], create_dir=False)
wrap.add("seq_len", [config["reference"]["seq_len"]], create_dir=False)
wrap.add("sg_scale", [config["reference"]["sg_scale"]], create_dir=False)

# Variation

# trees are sourced from folder
seqFolder = os.path.join(config["reference"]["folder"])
treeFolder = os.path.join(config["reference"]["folder"], config["reference"]["tree_folder"])
treePaths = appconfig.get_files(treeFolder, config["reference"]["tree_suffix"])
wrap.add("tree", treePaths, label_func=os.path.basename)

# scale divergence of tree evenly across log space
wrap.add(
    "branch_length",
    [
        "{:.4e}".format(n)
        for n in np.logspace(
            start=math.log(config["reference"]["tree_scale"]["max"]),
            stop=math.log(config["reference"]["tree_scale"]["min"]),
            num=config["reference"]["tree_scale"]["steps"],
            base=math.e,
            endpoint=True,
        ).tolist()
    ],