text_output_commands.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:nanoraw 作者: marcus1487 项目源码 文件源码
def write_pvals_and_qvals_wig(
        all_stats, wig_base, write_pvals, write_qvals):
    if VERBOSE: sys.stderr.write('Parsing statistics.\n')
    raw_chrm_strand_stats = defaultdict(list)
    for (pval_f, qval_f, pval, qval, pos, chrm, strand,
         cov1, cov2) in all_stats:
        raw_chrm_strand_stats[(chrm, strand)].append((pos, pval, qval))

    chrm_strand_pvals = {}
    chrm_strand_qvals = {}
    for chrm_strand, stats in raw_chrm_strand_stats.iteritems():
        chrm_poss = zip(*stats)[0]
        raw_chrm_pvals = zip(*stats)[1]
        raw_chrm_qvals = zip(*stats)[2]
        max_pos = max(chrm_poss)

        # arrange and store p-values
        chrm_pvals = np.empty(max_pos + 1)
        chrm_pvals[:] = np.nan
        np.put(chrm_pvals, chrm_poss, raw_chrm_pvals)
        chrm_strand_pvals[chrm_strand] = -np.log10(np.maximum(
            SMALLEST_PVAL, chrm_pvals))

        # arrange and store q-values
        chrm_qvals = np.empty(max_pos + 1)
        chrm_qvals[:] = np.nan
        np.put(chrm_qvals, chrm_poss, raw_chrm_qvals)
        chrm_strand_qvals[chrm_strand] = -np.log10(np.maximum(
            SMALLEST_PVAL, chrm_qvals))

    if VERBOSE: sys.stderr.write('Writing statistics wig(s).\n')
    if write_pvals:
        write_wiggle(wig_base, '', chrm_strand_pvals, 'neg_log10_pvals')
    if write_qvals:
        write_wiggle(wig_base, '', chrm_strand_qvals, 'neg_log10_qvals')

    return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号