diff --git a/scripts/Figs_Bench/10fold-a.pdf b/scripts/Figs_Bench/10fold-a.pdf new file mode 100644 index 0000000..0375100 Binary files /dev/null and b/scripts/Figs_Bench/10fold-a.pdf differ diff --git a/scripts/Figs_Bench/10fold-b.pdf b/scripts/Figs_Bench/10fold-b.pdf new file mode 100644 index 0000000..6f17801 Binary files /dev/null and b/scripts/Figs_Bench/10fold-b.pdf differ diff --git a/scripts/Figs_Bench/118id_5fold_a.pdf b/scripts/Figs_Bench/118id_5fold_a.pdf new file mode 100644 index 0000000..5a5f4f5 Binary files /dev/null and b/scripts/Figs_Bench/118id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/118id_5fold_b.pdf b/scripts/Figs_Bench/118id_5fold_b.pdf new file mode 100644 index 0000000..747f5e5 Binary files /dev/null and b/scripts/Figs_Bench/118id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/121id_10fold_b.pdf b/scripts/Figs_Bench/121id_10fold_b.pdf new file mode 100644 index 0000000..8109086 Binary files /dev/null and b/scripts/Figs_Bench/121id_10fold_b.pdf differ diff --git a/scripts/Figs_Bench/130id_5fold_a.pdf b/scripts/Figs_Bench/130id_5fold_a.pdf new file mode 100644 index 0000000..c790e0b Binary files /dev/null and b/scripts/Figs_Bench/130id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/130id_5fold_b.pdf b/scripts/Figs_Bench/130id_5fold_b.pdf new file mode 100644 index 0000000..6e38e7b Binary files /dev/null and b/scripts/Figs_Bench/130id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/148id_15fold_b.pdf b/scripts/Figs_Bench/148id_15fold_b.pdf new file mode 100644 index 0000000..9b24348 Binary files /dev/null and b/scripts/Figs_Bench/148id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/15fold-a.pdf b/scripts/Figs_Bench/15fold-a.pdf new file mode 100644 index 0000000..d55c361 Binary files /dev/null and b/scripts/Figs_Bench/15fold-a.pdf differ diff --git a/scripts/Figs_Bench/15fold-b.pdf b/scripts/Figs_Bench/15fold-b.pdf new file mode 100644 index 0000000..2a117f6 Binary files /dev/null and b/scripts/Figs_Bench/15fold-b.pdf differ diff --git a/scripts/Figs_Bench/170id_5fold_a.pdf b/scripts/Figs_Bench/170id_5fold_a.pdf new file mode 100644 index 0000000..1736ce9 Binary files /dev/null and b/scripts/Figs_Bench/170id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/170id_5fold_b.pdf b/scripts/Figs_Bench/170id_5fold_b.pdf new file mode 100644 index 0000000..63b98ea Binary files /dev/null and b/scripts/Figs_Bench/170id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/177id_10fold_a.pdf b/scripts/Figs_Bench/177id_10fold_a.pdf new file mode 100644 index 0000000..6361137 Binary files /dev/null and b/scripts/Figs_Bench/177id_10fold_a.pdf differ diff --git a/scripts/Figs_Bench/198id_5fold_a.pdf b/scripts/Figs_Bench/198id_5fold_a.pdf new file mode 100644 index 0000000..fe29d07 Binary files /dev/null and b/scripts/Figs_Bench/198id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/198id_5fold_b.pdf b/scripts/Figs_Bench/198id_5fold_b.pdf new file mode 100644 index 0000000..cf51777 Binary files /dev/null and b/scripts/Figs_Bench/198id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/200id_15fold_b.pdf b/scripts/Figs_Bench/200id_15fold_b.pdf new file mode 100644 index 0000000..22bf7a6 Binary files /dev/null and b/scripts/Figs_Bench/200id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/209id_10fold_a.pdf b/scripts/Figs_Bench/209id_10fold_a.pdf new file mode 100644 index 0000000..710479b Binary files /dev/null and b/scripts/Figs_Bench/209id_10fold_a.pdf differ diff --git a/scripts/Figs_Bench/209id_10fold_b.pdf b/scripts/Figs_Bench/209id_10fold_b.pdf new file mode 100644 index 0000000..5d78df8 Binary files /dev/null and b/scripts/Figs_Bench/209id_10fold_b.pdf differ diff --git a/scripts/Figs_Bench/20id_15fold_b.pdf b/scripts/Figs_Bench/20id_15fold_b.pdf new file mode 100644 index 0000000..0ec653a Binary files /dev/null and b/scripts/Figs_Bench/20id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/26id_5fold_a.pdf b/scripts/Figs_Bench/26id_5fold_a.pdf new file mode 100644 index 0000000..16a385c Binary files /dev/null and b/scripts/Figs_Bench/26id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/26id_5fold_b.pdf b/scripts/Figs_Bench/26id_5fold_b.pdf new file mode 100644 index 0000000..d31aac7 Binary files /dev/null and b/scripts/Figs_Bench/26id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/270id_5fold_a.pdf b/scripts/Figs_Bench/270id_5fold_a.pdf new file mode 100644 index 0000000..92f7080 Binary files /dev/null and b/scripts/Figs_Bench/270id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/270id_5fold_b.pdf b/scripts/Figs_Bench/270id_5fold_b.pdf new file mode 100644 index 0000000..3cae574 Binary files /dev/null and b/scripts/Figs_Bench/270id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/298id_5fold_a.pdf b/scripts/Figs_Bench/298id_5fold_a.pdf new file mode 100644 index 0000000..3198338 Binary files /dev/null and b/scripts/Figs_Bench/298id_5fold_a.pdf differ diff --git a/scripts/Figs_Bench/298id_5fold_b.pdf b/scripts/Figs_Bench/298id_5fold_b.pdf new file mode 100644 index 0000000..daefe70 Binary files /dev/null and b/scripts/Figs_Bench/298id_5fold_b.pdf differ diff --git a/scripts/Figs_Bench/316id_15fold_b.pdf b/scripts/Figs_Bench/316id_15fold_b.pdf new file mode 100644 index 0000000..b61cbe4 Binary files /dev/null and b/scripts/Figs_Bench/316id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/332id_15fold_b.pdf b/scripts/Figs_Bench/332id_15fold_b.pdf new file mode 100644 index 0000000..ccac9d0 Binary files /dev/null and b/scripts/Figs_Bench/332id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/360id_15fold_a.pdf b/scripts/Figs_Bench/360id_15fold_a.pdf new file mode 100644 index 0000000..780e2db Binary files /dev/null and b/scripts/Figs_Bench/360id_15fold_a.pdf differ diff --git a/scripts/Figs_Bench/360id_15fold_b.pdf b/scripts/Figs_Bench/360id_15fold_b.pdf new file mode 100644 index 0000000..2e1cd9a Binary files /dev/null and b/scripts/Figs_Bench/360id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/361id_10fold_b.pdf b/scripts/Figs_Bench/361id_10fold_b.pdf new file mode 100644 index 0000000..36d2a62 Binary files /dev/null and b/scripts/Figs_Bench/361id_10fold_b.pdf differ diff --git a/scripts/Figs_Bench/368id_15fold_a.pdf b/scripts/Figs_Bench/368id_15fold_a.pdf new file mode 100644 index 0000000..a849b6b Binary files /dev/null and b/scripts/Figs_Bench/368id_15fold_a.pdf differ diff --git a/scripts/Figs_Bench/368id_15fold_b.pdf b/scripts/Figs_Bench/368id_15fold_b.pdf new file mode 100644 index 0000000..6b2a55a Binary files /dev/null and b/scripts/Figs_Bench/368id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/5fold-a.pdf b/scripts/Figs_Bench/5fold-a.pdf new file mode 100644 index 0000000..c9ba87a Binary files /dev/null and b/scripts/Figs_Bench/5fold-a.pdf differ diff --git a/scripts/Figs_Bench/5fold-b.pdf b/scripts/Figs_Bench/5fold-b.pdf new file mode 100644 index 0000000..959ccd9 Binary files /dev/null and b/scripts/Figs_Bench/5fold-b.pdf differ diff --git a/scripts/Figs_Bench/76id_15fold_b.pdf b/scripts/Figs_Bench/76id_15fold_b.pdf new file mode 100644 index 0000000..ae9f4d9 Binary files /dev/null and b/scripts/Figs_Bench/76id_15fold_b.pdf differ diff --git a/scripts/Figs_Bench/77id_10fold_b.pdf b/scripts/Figs_Bench/77id_10fold_b.pdf new file mode 100644 index 0000000..ce015e9 Binary files /dev/null and b/scripts/Figs_Bench/77id_10fold_b.pdf differ diff --git a/scripts/Figs_Bench/9id_10fold_b.pdf b/scripts/Figs_Bench/9id_10fold_b.pdf new file mode 100644 index 0000000..fb72d04 Binary files /dev/null and b/scripts/Figs_Bench/9id_10fold_b.pdf differ diff --git a/scripts/createROC.py b/scripts/createROC.py index 8492937..63fe704 100755 --- a/scripts/createROC.py +++ b/scripts/createROC.py @@ -21,27 +21,30 @@ def loadMutationalProfiles(path): fileHandler.close() return seq,struct,nbMut,profiles -BASES = ["A","C","G","U"] +BASES = ["a","c","g","u"] -def classifyProfile(profile,seq,struct,mode): +def decide(classes,b,mutchar,seqchar,prob): + if b!=mutchar: + if b!=seqchar: + classes.append((0,prob)) + else: + classes.append((1,prob)) + +def classifyProfile(profile,seq,struct,mode,mutseq): result = [] + mutseq = mutseq.lower() + seq = seq.lower() for i in range(len(profile)): if mode == "a": for j in range(len(profile[i])): prob = profile[i][j] - b = BASES[j] - if b.lower() == seq[i].lower(): - result.append((1,prob)) - else: - result.append((0,prob)) + b = BASES[j].lower() + decide(result,b,mutseq[i],seq[i],prob) elif mode == "b" and struct[i]!=".": for j in range(len(profile[i])): prob = profile[i][j] b = BASES[j] - if b.lower() == seq[i].lower(): - result.append((1,prob)) - else: - result.append((0,prob)) + decide(result,b,mutseq[i],seq[i],prob) elif mode == "c" and struct[i]!=".": bestB,probB = "",0. for j in range(len(profile[i])): @@ -50,21 +53,17 @@ def classifyProfile(profile,seq,struct,mode): if prob > probB: bestB,probB = b,prob for j in range(len(profile[i])): - prob = profile[i][j] - b = BASES[j] - if (b.lower() == seq[i].lower()): - cl=1 - else: - cl=0 if b.lower() == bestB.lower(): - result.append((cl,prob)) + decide(result,b,mutseq[i],seq[i],prob) else: - result.append((cl,0.0)) + decide(result,b,mutseq[i],seq[i],0.) #print result return result + def evaluatePrediction(profile,seq,nbMut): ok = 0. + seq = seq.lower() for i in range(len(profile)): bestB,probB = "",0. for j in range(len(profile[i])): @@ -74,43 +73,76 @@ def evaluatePrediction(profile,seq,nbMut): bestB,probB = b,prob if bestB==seq[i]: ok += 1 - return ok-(len(seq)-nbMut) + return nbMut-(len(seq)-ok) + +def getMutatedPositions(seq,mutseq): + result = set() + if len(seq)!= len(mutseq): + raise Exception("Mutated and original sequence lengths do not match!") + seq = seq.lower() + mutseq = mutseq.lower() + for i in range(len(seq)): + if (seq[i]!=mutseq[i]): + result.add(i) + return result -def computePlotROCs(path,mode): - seq,struc,nbMut,profiles = loadMutationalProfiles(path) +def computePlotROCs(paths,mode,mutpaths): + allalphas = set() + exps = [] + pylab.rc('text', usetex=True) + for i in range(len(paths)): + path = paths[i] + mutpath = mutpaths[i] + mutseq = open(mutpath,"r").readlines()[0] + seq,struc,nbMut,profiles = loadMutationalProfiles(path) + mutpos = getMutatedPositions(seq,mutseq) + exps.append((path,mutseq,seq,struc,nbMut,profiles,mutpos)) + allalphas.update(profiles.keys()) rocs = [] lbls = [] - pylab.rc('text', usetex=True) - alphas = profiles.keys() + alphas = list(allalphas) alphas.sort() for alpha in alphas: - c = classifyProfile(profiles[alpha],seq,struc,mode) - delta = evaluatePrediction(profiles[alpha],seq,nbMut) + c = [] + delta = 0 + for (path,mutseq,seq,struc,nbMut,profiles,mutpos) in exps: + c += classifyProfile(profiles[alpha],seq,struc,mode,mutseq) + delta += evaluatePrediction(profiles[alpha],seq,len(mutpos)) roc = ROCData(c) rocs.append(roc) lbls.append("$\\alpha=%.1f,$ {\\sf AUC} $=%.1f\\%%$"%(alpha,(100.*roc.auc(0)))) - print "File:%s, Mode:%s, Alpha:%s, ROC AUC:%.2f, Delta:%s" % (path.split(os.sep)[-1],mode,alpha,(100.*roc.auc(0)),delta) - plt = plot_multiple_roc(rocs,"", lbls) + if len(paths)==1: + cap = paths[0].split(os.sep)[-1] + else: + cap = "Multiple" + print "%s\t%s\t%s\t%.2f\t%s\t%s\t%s" % (cap,mode,alpha,(100.*roc.auc(0)),delta,nbMut,len(mutpos)) + plt = plot_multiple_roc(rocs,"", lbls) return plt + +def listConversionCallback(option, opt, value, parser): + setattr(parser.values, option.dest, value.split(',')) + if __name__ == '__main__': - print "createROC - ROC Curve Generator from RNAPyro profiles" + #print "createROC - ROC Curve Generator from RNAPyro profiles" from optparse import OptionParser parser = OptionParser() - parser.add_option('-f', '--file', dest='origFile', help="Path to a file with the mutational profile.") parser.add_option('-d', '--dir', dest='origDir', help="Path to a directory with mutational profiles (full generation mode).") parser.add_option("-o",'--output', dest= 'outpath' , default='out.pdf' , help = 'Destination (must be PDF).') parser.add_option("-m",'--mode', dest= 'mode' , default='a' , help = 'Evaluation mode: "a" (default) - Conservative prediction, predicts multiple mutations per position, anywhere in the sequence; "b" - Multiple mutations per positions, only in helices; "c" - Single mutations, only in helices') - + parser.add_option("-f", "--file", dest="origFile",type='string',action='callback',callback=listConversionCallback,help="Path to a (set of) file(s) with the mutational profile.",default=[]) + parser.add_option("-k",'--muts', dest= 'mutpath' ,type='string',action='callback',callback=listConversionCallback, help = 'Path to a (set of) mutated sequence(s).') + (options,args) = parser.parse_args() - if (not options.origFile) and (not options.origDir) : + if ((not options.origFile) and (not options.origDir)) or (not options.mutpath) : parser.print_help() exit() + #print options.origFile, options.mutpath if options.origFile: - plt = computePlotROCs(options.origFile,options.mode) + plt = computePlotROCs(options.origFile,options.mode,options.mutpath) plt.savefig(options.outpath, format='pdf',bbox_inches='tight') elif options.origDir: for f in os.listdir(options.origDir): @@ -118,6 +150,6 @@ def computePlotROCs(path,mode): basename = f[:-4] for m in ["a","b","c"]: fname = options.origDir+os.sep+basename+"-"+m+".pdf" - plt = computePlotROCs(options.origDir+os.sep+f,m) + plt = computePlotROCs(options.origDir+os.sep+f,m,options.mutpath) plt.savefig(fname, format='pdf',bbox_inches='tight') diff --git a/scripts/jcb_graphs.py b/scripts/jcb_graphs.py index f4b3911..368ee4d 100644 --- a/scripts/jcb_graphs.py +++ b/scripts/jcb_graphs.py @@ -3,40 +3,49 @@ import cPickle from subprocess import call -def ind(m='a'): +def ind(modes): + print "File\tMode\tAlpha\tAUC\tDelta\t#MutEst\t#MutReal" with open(os.path.join('..','16S','key_to_Bench.txt')) as f: key = eval(f.readline()) d_key = {x[0]:x[1:] for x in key} - with open(os.path.join('..','16S','d_clusters_trim.cPickle')) as f: + with open(os.path.join('..','16S','d_clusters_trim.cPickle'),'rb') as f: data = cPickle.load(f) - - + mutsfiles = {} + for f_name in os.listdir(os.path.join('..','16S','Mut')): + pos = f_name.find("id") + idnum = int(f_name[:pos]) + mutsfiles[idnum] = os.path.join('..','16S','Mut',f_name) for f_name in os.listdir(os.path.join('..','16S','Bench_iso')): + sys.stderr.write("%s\n"%f_name) if f_name.endswith('mut'): continue id = int(f_name.split('.')[0]) seq = d_key[id][0] fold = d_key[id][-1] mut = data[seq]['mut'][fold] + mut_file = mutsfiles[id] try: os.mkdir('Figs_Bench') except OSError: pass - cmd = ['python', - 'createROC.py', - '-f', '%s' % os.path.join('..','16S','Bench_iso',f_name), - '-o', '%s' % os.path.join('Figs_Bench','%sid_%sfold_%s.pdf' % (id, fold,m)), - '-m', '%s' % m] - print cmd - call(cmd) - -def batch(m='a'): + for m in modes: + cmd = ['python', + 'createROC.py', + '-f', '%s' % os.path.join('..','16S','Bench_iso',f_name), + '-o', '%s' % os.path.join('Figs_Bench','%sid_%sfold_%s.pdf' % (id, fold,m)), + '-k', '%s' % mut_file, + '-m', '%s' % m] + #print cmd + call(cmd) + +def batch(modes): + print "File\tMode\tAlpha\tAUC\tDelta\t#MutEst\t#MutReal" with open(os.path.join('..','16S','key_to_Bench.txt')) as f: key = eval(f.readline()) d_key = {x[0]:x[1:] for x in key} - with open(os.path.join('..','16S','d_clusters_trim.cPickle')) as f: + with open(os.path.join('..','16S','d_clusters_trim.cPickle'),'rb') as f: data = cPickle.load(f) - + l_f_name = os.listdir(os.path.join('..','16S','Bench_iso')) l_id = set([x for x in l_f_name if not x.endswith('mut')]) d_fold = {} @@ -48,32 +57,39 @@ def batch(m='a'): d_fold[fold].append(id) for fold in d_fold: - to_do = d_fold[fold] + for m in modes: + to_do = d_fold[fold] - cmd = ['python', - 'createROC.py', - '-f'] - for x in to_do: - cmd.append(os.path.join('..','16S','Bench_iso',x)) + cmd = ['python', + 'createROC.py', + '-f'] + flist = [] + for x in to_do: + flist.append(os.path.join('..','16S','Bench_iso',x)) + cmd.extend([",".join(flist)]) - cmd.extend(['-o', '%s' % os.path.join('Figs_Bench','%sfold.pdf' % (fold)), - '-m', '%s' % m]) - print cmd - continue - call(cmd) + cmd.extend(["-k"]) + flist = [] + for x in to_do: + id = int(x[:x.find(".txt")]) + flist.append(os.path.join('..','16S','Mut',"%sid_%sfold.mut"%(id,fold))) + cmd.extend([",".join(flist)]) + cmd.extend(['-o', '%s' % os.path.join('Figs_Bench','%sfold-%s.pdf' % (fold,m)), + '-m', '%s' % m]) + call(cmd) if __name__ == '__main__': - m = 'a' + modes = ['a','b'] batch_flag = False for i, opt in enumerate(sys.argv): if opt == '-m': - m = sys.argv[i + 1] + modes = [sys.argv[i + 1]] elif opt == '-b': batch_flag = True if batch_flag: - batch(m) + batch(modes) else: - ind(m) + ind(modes) diff --git a/scripts/pyroc.py b/scripts/pyroc.py index 6dced55..4fb451d 100644 --- a/scripts/pyroc.py +++ b/scripts/pyroc.py @@ -98,14 +98,14 @@ def plot_multiple_roc(rocList,title='',labels=None, include_baseline=False, equa if equal_aspect: cax = pylab.gca() cax.set_aspect('equal') - pylab.xlabel("1 - Specificity") - pylab.ylabel("Sensitivity") + pylab.xlabel("1 - Specificity", fontsize=16) + pylab.ylabel("Sensitivity", fontsize=16) pylab.title(title) if not labels: labels = [ '' for x in rocList] _remove_duplicate_styles(rocList) for ix, r in enumerate(rocList): - pylab.plot([x[0] for x in r.derived_points], [y[1] for y in r.derived_points], r.linestyle, linewidth=1.5, label=labels[ix]) + pylab.plot([x[0] for x in r.derived_points], [y[1] for y in r.derived_points], r.linestyle, marker=None,linewidth=1.5, label=labels[ix]) if include_baseline: pylab.plot([0.0,1.0], [0.0, 1.0], 'k-', label= 'random') if labels: diff --git a/scripts/summary16sBatch.dat b/scripts/summary16sBatch.dat new file mode 100644 index 0000000..6157d2f --- /dev/null +++ b/scripts/summary16sBatch.dat @@ -0,0 +1,25 @@ +File Mode Alpha AUC Delta #MutEst #MutReal Fold +Multiple a 0.0 78.54 -3.0 27 5 5 +Multiple a 0.5 68.43 -204.0 27 5 +Multiple a 0.8 67.64 -195.0 27 5 +Multiple a 1.0 67.32 -206.0 27 5 +Multiple b 0.0 99.76 -3.0 27 5 +Multiple b 0.5 93.06 -204.0 27 5 +Multiple b 0.8 92.79 -195.0 27 5 +Multiple b 1.0 92.51 -206.0 27 5 +Multiple a 0.0 83.51 23.0 73 67 15 +Multiple a 0.5 81.15 -127.0 73 67 +Multiple a 0.8 79.53 -137.0 73 67 +Multiple a 1.0 77.55 -172.0 73 67 +Multiple b 0.0 97.78 23.0 73 67 +Multiple b 0.5 95.22 -127.0 73 67 +Multiple b 0.8 93.15 -137.0 73 67 +Multiple b 1.0 91.14 -172.0 73 67 +Multiple a 0.0 77.40 7.0 18 7 10 +Multiple a 0.5 78.33 -103.0 18 7 +Multiple a 0.8 76.70 -115.0 18 7 +Multiple a 1.0 75.46 -137.0 18 7 +Multiple b 0.0 93.72 7.0 18 7 +Multiple b 0.5 93.26 -103.0 18 7 +Multiple b 0.8 92.55 -115.0 18 7 +Multiple b 1.0 93.04 -137.0 18 7 diff --git a/scripts/summary16sInd.dat b/scripts/summary16sInd.dat new file mode 100644 index 0000000..e6c1cc8 --- /dev/null +++ b/scripts/summary16sInd.dat @@ -0,0 +1,189 @@ +118.txt a 0.0 85.76 7.0 73 67 +118.txt a 0.5 84.18 -15.0 73 67 +118.txt a 0.8 85.70 -17.0 73 67 +118.txt a 1.0 82.93 -17.0 73 67 +118.txt b 0.0 98.64 7.0 73 67 +118.txt b 0.5 97.00 -15.0 73 67 +118.txt b 0.8 95.39 -17.0 73 67 +118.txt b 1.0 93.96 -17.0 73 67 +121.txt a 0.0 92.48 4.0 27 7 +121.txt a 0.5 92.30 -22.0 27 7 +121.txt a 0.8 91.17 -21.0 27 7 +121.txt a 1.0 92.05 -21.0 27 7 +121.txt b 0.0 99.96 4.0 27 7 +121.txt b 0.5 99.13 -22.0 27 7 +121.txt b 0.8 98.66 -21.0 27 7 +121.txt b 1.0 98.39 -21.0 27 7 +130.txt a 0.0 81.48 -2.0 73 48 +130.txt a 0.5 78.23 -18.0 73 48 +130.txt a 0.8 75.49 -20.0 73 48 +130.txt a 1.0 76.51 -25.0 73 48 +130.txt b 0.0 96.00 -2.0 73 48 +130.txt b 0.5 90.58 -18.0 73 48 +130.txt b 0.8 88.46 -20.0 73 48 +130.txt b 1.0 85.71 -25.0 73 48 +148.txt a 0.0 81.22 4.0 18 30 +148.txt a 0.5 90.78 -8.0 18 30 +148.txt a 0.8 74.14 -11.0 18 30 +148.txt a 1.0 79.47 -15.0 18 30 +148.txt b 0.0 84.07 4.0 18 30 +148.txt b 0.5 91.67 -8.0 18 30 +148.txt b 0.8 89.52 -11.0 18 30 +148.txt b 1.0 92.07 -15.0 18 30 +160.txt a 0.0 86.42 0.0 18 6 +160.txt a 0.5 75.77 -15.0 18 6 +160.txt a 0.8 83.26 -16.0 18 6 +160.txt a 1.0 82.27 -14.0 18 6 +17.txt a 0.0 77.68 -1.0 28 3 +17.txt a 0.5 76.28 -23.0 28 3 +17.txt a 0.8 62.83 -20.0 28 3 +17.txt a 1.0 59.09 -22.0 28 3 +170.txt a 0.0 81.69 5.0 72 46 +170.txt a 0.5 75.45 -18.0 72 46 +170.txt a 0.8 74.97 -20.0 72 46 +170.txt a 1.0 73.17 -31.0 72 46 +170.txt b 0.0 95.27 5.0 72 46 +170.txt b 0.5 90.99 -18.0 72 46 +170.txt b 0.8 87.79 -20.0 72 46 +170.txt b 1.0 85.08 -31.0 72 46 +177.txt a 0.0 78.33 0.0 27 3 +177.txt a 0.5 79.19 -22.0 27 3 +177.txt a 0.8 75.86 -20.0 27 3 +177.txt a 1.0 76.33 -22.0 27 3 +198.txt a 0.0 84.35 -1.0 72 21 +198.txt a 0.5 82.86 -18.0 72 21 +198.txt a 0.8 79.16 -21.0 72 21 +198.txt a 1.0 80.01 -26.0 72 21 +198.txt b 0.0 98.08 -1.0 72 21 +198.txt b 0.5 97.28 -18.0 72 21 +198.txt b 0.8 96.54 -21.0 72 21 +198.txt b 1.0 95.44 -26.0 72 21 +20.txt a 0.0 84.71 1.0 18 7 +20.txt a 0.5 89.00 -6.0 18 7 +20.txt a 0.8 86.92 -9.0 18 7 +20.txt a 1.0 84.96 -15.0 18 7 +20.txt b 0.0 99.88 1.0 18 7 +20.txt b 0.5 99.83 -6.0 18 7 +20.txt b 0.8 99.39 -9.0 18 7 +20.txt b 1.0 98.29 -15.0 18 7 +200.txt a 0.0 84.26 0.0 18 17 +200.txt a 0.5 73.76 -10.0 18 17 +200.txt a 0.8 78.20 -12.0 18 17 +200.txt a 1.0 77.84 -14.0 18 17 +200.txt b 0.0 99.55 0.0 18 17 +200.txt b 0.5 97.55 -10.0 18 17 +200.txt b 0.8 94.01 -12.0 18 17 +200.txt b 1.0 92.22 -14.0 18 17 +209.txt a 0.0 79.43 0.0 27 14 +209.txt a 0.5 79.15 -19.0 27 14 +209.txt a 0.8 77.92 -19.0 27 14 +209.txt a 1.0 81.44 -21.0 27 14 +209.txt b 0.0 97.02 0.0 27 14 +209.txt b 0.5 98.16 -19.0 27 14 +209.txt b 0.8 98.53 -19.0 27 14 +209.txt b 1.0 98.90 -21.0 27 14 +253.txt a 0.0 67.22 -1.0 27 5 +253.txt a 0.5 74.44 -21.0 27 5 +253.txt a 0.8 73.36 -19.0 27 5 +253.txt a 1.0 81.19 -19.0 27 5 +26.txt a 0.0 88.48 10.0 74 52 +26.txt a 0.5 86.41 -24.0 74 52 +26.txt a 0.8 83.78 -22.0 74 52 +26.txt a 1.0 84.57 -25.0 74 52 +26.txt b 0.0 99.13 10.0 74 52 +26.txt b 0.5 97.95 -24.0 74 52 +26.txt b 0.8 97.39 -22.0 74 52 +26.txt b 1.0 96.61 -25.0 74 52 +268.txt a 0.0 77.34 0.0 18 5 +268.txt a 0.5 76.97 -14.0 18 5 +268.txt a 0.8 76.01 -16.0 18 5 +268.txt a 1.0 80.96 -15.0 18 5 +270.txt a 0.0 87.75 5.0 72 35 +270.txt a 0.5 84.38 -17.0 72 35 +270.txt a 0.8 84.54 -17.0 72 35 +270.txt a 1.0 82.88 -27.0 72 35 +270.txt b 0.0 99.69 5.0 72 35 +270.txt b 0.5 98.07 -17.0 72 35 +270.txt b 0.8 95.96 -17.0 72 35 +270.txt b 1.0 94.01 -27.0 72 35 +298.txt a 0.0 80.54 -1.0 74 31 +298.txt a 0.5 80.84 -17.0 74 31 +298.txt a 0.8 79.57 -20.0 74 31 +298.txt a 1.0 78.16 -21.0 74 31 +298.txt b 0.0 98.10 -1.0 74 31 +298.txt b 0.5 96.64 -17.0 74 31 +298.txt b 0.8 93.12 -20.0 74 31 +298.txt b 1.0 90.46 -21.0 74 31 +316.txt a 0.0 94.83 1.0 18 3 +316.txt a 0.5 90.41 -12.0 18 3 +316.txt a 0.8 91.86 -11.0 18 3 +316.txt a 1.0 91.26 -15.0 18 3 +316.txt b 0.0 99.96 1.0 18 3 +316.txt b 0.5 99.65 -12.0 18 3 +316.txt b 0.8 99.40 -11.0 18 3 +316.txt b 1.0 99.22 -15.0 18 3 +325.txt a 0.0 75.37 -2.0 28 4 +325.txt a 0.5 66.45 -22.0 28 4 +325.txt a 0.8 85.61 -23.0 28 4 +325.txt a 1.0 80.97 -25.0 28 4 +332.txt a 0.0 84.67 2.0 18 12 +332.txt a 0.5 80.59 -10.0 18 12 +332.txt a 0.8 79.91 -8.0 18 12 +332.txt a 1.0 78.71 -13.0 18 12 +332.txt b 0.0 100.00 2.0 18 12 +332.txt b 0.5 99.67 -10.0 18 12 +332.txt b 0.8 99.65 -8.0 18 12 +332.txt b 1.0 99.47 -13.0 18 12 +360.txt a 0.0 83.46 -1.0 18 19 +360.txt a 0.5 86.73 -10.0 18 19 +360.txt a 0.8 77.87 -12.0 18 19 +360.txt a 1.0 76.21 -13.0 18 19 +360.txt b 0.0 99.92 -1.0 18 19 +360.txt b 0.5 99.61 -10.0 18 19 +360.txt b 0.8 99.25 -12.0 18 19 +360.txt b 1.0 98.74 -13.0 18 19 +361.txt a 0.0 80.76 -2.0 27 19 +361.txt a 0.5 87.03 -18.0 27 19 +361.txt a 0.8 74.60 -17.0 27 19 +361.txt a 1.0 86.05 -19.0 27 19 +361.txt b 0.0 99.84 -2.0 27 19 +361.txt b 0.5 99.68 -18.0 27 19 +361.txt b 0.8 99.46 -17.0 27 19 +361.txt b 1.0 99.34 -19.0 27 19 +368.txt a 0.0 67.16 -1.0 18 11 +368.txt a 0.5 79.36 -12.0 18 11 +368.txt a 0.8 72.77 -12.0 18 11 +368.txt a 1.0 69.63 -15.0 18 11 +368.txt b 0.0 89.88 -1.0 18 11 +368.txt b 0.5 85.99 -12.0 18 11 +368.txt b 0.8 84.16 -12.0 18 11 +368.txt b 1.0 83.21 -15.0 18 11 +45.txt a 0.0 70.75 -4.0 27 12 +45.txt a 0.5 91.54 -24.0 27 12 +45.txt a 0.8 64.81 -23.0 27 12 +45.txt a 1.0 65.93 -22.0 27 12 +76.txt a 0.0 89.64 1.0 18 23 +76.txt a 0.5 85.24 -6.0 18 23 +76.txt a 0.8 86.97 -8.0 18 23 +76.txt a 1.0 76.39 -8.0 18 23 +76.txt b 0.0 99.90 1.0 18 23 +76.txt b 0.5 99.12 -6.0 18 23 +76.txt b 0.8 98.39 -8.0 18 23 +76.txt b 1.0 97.33 -8.0 18 23 +77.txt a 0.0 89.03 3.0 27 24 +77.txt a 0.5 90.32 -13.0 27 24 +77.txt a 0.8 84.40 -14.0 27 24 +77.txt a 1.0 81.83 -15.0 27 24 +77.txt b 0.0 99.89 3.0 27 24 +77.txt b 0.5 98.89 -13.0 27 24 +77.txt b 0.8 98.43 -14.0 27 24 +77.txt b 1.0 97.73 -15.0 27 24 +9.txt a 0.0 92.76 0.0 28 14 +9.txt a 0.5 77.85 -20.0 28 14 +9.txt a 0.8 79.96 -19.0 28 14 +9.txt a 1.0 75.69 -20.0 28 14 +9.txt b 0.0 99.82 0.0 28 14 +9.txt b 0.5 99.93 -20.0 28 14 +9.txt b 0.8 99.85 -19.0 28 14 +9.txt b 1.0 99.85 -20.0 28 14 +File Mode Alpha AUC Delta #MutEst #MutReal