コード例 #1
0
def count_kmers(tmp_dirpath, fpath, log_fpath, err_fpath, can_reuse=True):
    kmc_out_fpath = join(tmp_dirpath, basename(fpath) + '.kmc')
    if can_reuse and is_non_empty_file(kmc_out_fpath + '.kmc_pre') and is_non_empty_file(kmc_out_fpath + '.kmc_suf'):
        return kmc_out_fpath
    max_mem = max(2, get_free_memory())
    run_kmc(['-m' + str(max_mem), '-k' + str(KMERS_LEN), '-fm', '-cx1', '-ci1', fpath, kmc_out_fpath, tmp_dirpath],
            log_fpath, err_fpath, use_kmc_tools=False)
    return kmc_out_fpath
コード例 #2
0
def get_gridss_memory():
    free_mem = get_free_memory()
    if free_mem >= 64:
        return 31
    elif free_mem >= 32:
        return 16
    elif free_mem >= 16:
        return 8
    return 2
コード例 #3
0
def count_kmers(tmp_dirpath, fpath, kmer_len, log_fpath, err_fpath):
    kmc_out_fpath = join(tmp_dirpath, basename(fpath) + '.kmc')
    max_mem = max(2, get_free_memory())
    run_kmc([
        '-m' + str(max_mem), '-n128', '-k' + str(kmer_len), '-fm', '-cx1',
        '-ci1', fpath, kmc_out_fpath, tmp_dirpath
    ],
            log_fpath,
            err_fpath,
            use_kmc_tools=False)
    return kmc_out_fpath
コード例 #4
0
def sort_bam(bam_fpath,
             sorted_bam_fpath,
             err_path,
             logger,
             threads=None,
             sort_rule=None):
    if not threads:
        threads = qconfig.max_threads
    mem = '%dGB' % min(100, max(2, get_free_memory()))
    cmd = [
        sambamba_fpath('sambamba'), 'sort', '-t',
        str(threads), '--tmpdir',
        dirname(sorted_bam_fpath), '-m', mem, '-o', sorted_bam_fpath, bam_fpath
    ]
    if sort_rule:
        cmd += [sort_rule]
    qutils.call_subprocess(cmd, stderr=open(err_path, 'a'), logger=logger)