예제 #1
0
    r = dict(zip(outheaders, outrows[i]))
    homovarsc = max(
        0.0,
        min(pvscore(r["NotHetFDR"]), pvscore(r["NotHomoRefFDR"])) -
        pvscore(r["NotHomoVarFDR"]))
    homorefsc = max(
        0.0,
        min(pvscore(r["NotHetFDR"]), pvscore(r["NotHomoVarFDR"])) -
        pvscore(r["NotHomoRefFDR"]))
    hetsc = max(
        0.0,
        min(pvscore(r["NotHomoRefFDR"]), pvscore(r["NotHomoVarFDR"])) -
        pvscore(r["NotHetFDR"]))
    vardomsc = pvscore(r["VarDomFDR"])
    refdomsc = pvscore(r["RefDomFDR"])
    pos = outheaders.index("HomoVarSc")
    outrows[i][pos] = homovarsc
    pos = outheaders.index("HomoRefSc")
    outrows[i][pos] = homorefsc
    pos = outheaders.index("HetSc")
    outrows[i][pos] = hetsc
    pos = outheaders.index("VarDomSc")
    outrows[i][pos] = vardomsc
    pos = outheaders.index("RefDomSc")
    outrows[i][pos] = refdomsc

progress.stage('Output results')
output.from_rows(
    map(lambda r: dict(zip(outheaders, r + [emptysym] * 50)), outrows))
progress.done()
예제 #2
0
for j, fdrk in enumerate(fdrkeys):
    pos1 = outheaders.index(fdrk)
    for i in range(len(outrows)):
        outrows[i][pos1] = allfdrs[(j * n) + i]

for i in range(len(outrows)):
    r = dict(zip(outheaders, outrows[i]))
    homovarsc = max(0.0, min(pvscore(r["NotHetFDR"]), pvscore(
        r["NotHomoRefFDR"])) - pvscore(r["NotHomoVarFDR"]))
    homorefsc = max(0.0, min(pvscore(r["NotHetFDR"]), pvscore(
        r["NotHomoVarFDR"])) - pvscore(r["NotHomoRefFDR"]))
    hetsc = max(0.0, min(pvscore(r["NotHomoRefFDR"]), pvscore(
        r["NotHomoVarFDR"])) - pvscore(r["NotHetFDR"]))
    vardomsc = pvscore(r["VarDomFDR"])
    refdomsc = pvscore(r["RefDomFDR"])
    pos = outheaders.index("HomoVarSc")
    outrows[i][pos] = homovarsc
    pos = outheaders.index("HomoRefSc")
    outrows[i][pos] = homorefsc
    pos = outheaders.index("HetSc")
    outrows[i][pos] = hetsc
    pos = outheaders.index("VarDomSc")
    outrows[i][pos] = vardomsc
    pos = outheaders.index("RefDomSc")
    outrows[i][pos] = refdomsc

progress.stage('Output results')
output.from_rows(
    map(lambda r: dict(zip(outheaders, r + [emptysym] * 50)), outrows))
progress.done()
예제 #3
0
           sum(counts.values()),
           duplicates_removed,
           len(reads),
           total]
    outrows.append(row)

    progress.update()
progress.done()

progress.stage('Multiple-test correction and FDR computation')
bonf = bonferroni(pvalues)
fdr = fdr(pvalues)

i = 0
pvalpos = outheaders.index('P-Value')
for r in outrows:
    if len(r) > pvalpos:
        if r[pvalpos] != emptysym:
            r.insert(pvalpos + 1, fdr[i])
            r.insert(pvalpos + 1, bonf[i])
            i += 1
        else:
            r.insert(pvalpos + 1, emptysym)
            r.insert(pvalpos + 1, emptysym)
progress.done()

progress.stage('Output results')
output.from_rows(
    [dict(list(zip(outheaders, r + [emptysym] * 50))) for r in outrows])
progress.done()
예제 #4
0
        pvalues.append(pval)

        l = lod(nsnpi, (nsnpi + nsnpex), (nsnpi + nwti),
                (nsnpi + nsnpex + nwti + nwtex))
        if l != None:
            lodval = l

    r['Probability'] = p
    r['P-Value'] = pval
    r['LOD'] = lodval

    row = dict(iter(r.items()))
    outrows.append(row)

bonf = bonferroni(pvalues)
fdr = fdr(pvalues)

i = 0
for r in outrows:
    if r['P-Value'] != emptysym:
        r['Bonferroni'] = bonf[i]
        r['FDR'] = fdr[i]
        i += 1

    for k in outheaders:
        if k not in r:
            r[k] = emptysym

progress.stage("Output results")
output.from_rows(outrows)
예제 #5
0
파일: readCounts.py 프로젝트: qingnanl/NGS
                              headers=outheaders1,
                              sheet='Results')
    elif extn == 'xlsx':
        output = XLSXFileTable(filename=filename,
                               headers=outheaders1,
                               sheet='Results')
    elif extn == 'txt':
        output = TXTFileTable(filename=filename, headers=outheaders1)
        emptysym = "-"
    else:
        raise RuntimeError("Unexpected output file extension: %s" % filename)
else:
    output = TXTFileTable(filename=sys.stdout, headers=outheaders1)
    emptysym = "-"

progress.stage('Output results')
if opt.output:
    outdir = os.path.split(opt.output)[0]
    if outdir and not os.path.exists(outdir):
        os.makedirs(outdir, exist_ok=True)
output.from_rows([
    dict(
        list(
            zip(
                outheaders,
                list(map(lambda v: emptysym if
                         (v == None) else v, r)) + [emptysym] * 50)))
    for r in outrows
])
progress.done()
예제 #6
0
        pvalues.append(pval)

        l = lod(nsnpi, (nsnpi + nsnpex), (nsnpi + nwti),
                (nsnpi + nsnpex + nwti + nwtex))
        if l != None:
            lodval = l

    r['Probability'] = p
    r['P-Value'] = pval
    r['LOD'] = lodval

    row = dict(r.iteritems())
    outrows.append(row)

bonf = bonferroni(pvalues)
fdr = fdr(pvalues)

i = 0
for r in outrows:
    if r['P-Value'] != emptysym:
        r['Bonferroni'] = bonf[i]
        r['FDR'] = fdr[i]
        i += 1

    for k in outheaders:
        if k not in r:
            r[k] = emptysym

progress.stage("Output results")
output.from_rows(outrows)