def plotSurf(): from scipy import interpolate a=pd.read_pickle(utl.outpath+'real/real.maxLikelihoods.df') idx=(a.s.abs()*a.h.abs()*(a.alt-a.null)).sort_values().index[-1] R=pd.DataFrame(pd.read_pickle(utl.outpath+'real/real.replicates.df').loc[idx]).T SH=dta.getSH() ARGS=[(R,)+sh for sh in SH] likelihoods=pd.concat(map(mkv.computeLikelihoodReal,ARGS),axis=1);likelihoods.columns.names=['s','h'] fig = plt.figure() ax = fig.gca(projection='3d') df=pd.concat([pd.Series(z[1].loc[z[0]].values,index=z[1].loc[z[0]].index,name=z[0]) for z in b.groupby(level=0)],axis=1) Z=df.values # Z[Z==Z.min()]=-1e3 X=np.tile(df.index.values[:,None],Z.shape[1]) Y=np.tile(df.columns.values[:,None],Z.shape[0]).T Z.min() Z.max() nn = 401; xi = np.linspace(-1.0, 2.0, 10); yi = np.linspace(-0.5, 0.5, nn); f = interpolate.interp2d(X,Y,Z,kind='cubic') zi = f(xi, yi) [xi, yi] = np.meshgrid(xi, yi); # surf = ax.plot_surface(X, Y, Z, cmap=mpl.cm.autumn) surf = ax.plot_surface(xi, yi, zi, cmap=mpl.cm.autumn) fig.colorbar(surf, shrink=0.5, aspect=5) # surf(xi, yi, zi, 'LineStyle', 'none', 'FaceColor', 'interp') plt.show()
def SNPscan(R,regAlpha,numProcess): reload(dta) SH=dta.getSH(sparse=True) ARGS=[(R,)+sh for sh in SH] print pd.DataFrame(SH) print R if numProcess==1: likelihoods=pd.concat(map(mkv.computeLikelihoodReal,ARGS),axis=1);likelihoods.columns.names=['s','h'] else: pool=Pool(numProcess) likelihoods=pd.concat(pool.map(mkv.computeLikelihoodReal,ARGS),axis=1);likelihoods.columns.names=['s','h'] pool.terminate() del ARGS gc.collect() likelihoods=mkv.maxLikelihood(likelihoods,regAlpha=regAlpha) gc.collect() return likelihoods