def plotSNPPval(out): scores = rutl.loadScores() kde = utl.getDensity(scores, width=1); pval = utl.getPvalKDE(out.sort_values(ascending=False).iloc[:1200], kde) print pval.sort_values() pval[pval >= 3].size df = pd.DataFrame(pval) df = pd.concat([df[df.index.get_level_values('CHROM') == ch] for ch in ['X', '2L', '2R', '3L', '3R', '4', '2LHet', '2RHet', '3LHet', '3RHet', 'XHet']]) fig = plt.figure(figsize=(7, 2), dpi=300); pplt.Manhattan(df, fig=fig, markerSize=2, ticksize=8, sortedAlready=True); [pplt.setSize(ax, 8) for ax in fig.get_axes()]
def computeLocalPval(x,i): wins=np.array([200])*1000 df=[] for i in X.index: res=[] for pad in wins: x=X[(X.index>=i-pad) & (X.index<=i+pad)] kde=utl.getDensity(x[x.index != i]) res+=[utl.getPvalKDE(pd.Series(x.loc[i]),kde)[0]] df+=[pd.Series(res,index=wins,name=i)] df=pd.DataFrame(df) pd.concat([df.apply(lambda x:x.idxmax(),1),df.max(1)],1).plot.scatter(x=0,y=1) a['pval']=df.max(1).values o=a[a.pval>a.pval.quantile(0.999)] pplt.Manhattan(a,Outliers=o) df.max(1).plot() y=utl.scan3way(x,winsize=10,f=np.mean) x.sort_values() y.sort_values()