R.prep_observable(lam=lam, free_energy=energies[i], filename=File, dloggamma=np.log(1.01),gamma_min=0.2,gamma_max=5.0) elif File.endswith('pf'): R = Restraint_pf('8690.pdb',ref='gaussian') R.prep_observable(lam=lam, free_energy=energies[i], filename=File) ensemble[-1].append(R) print ensemble ########################################## # Next, let's do some posterior sampling ########## Posterior Sampling ############ sampler = PosteriorSampler(ensemble) sampler.compile_nuisance_parameters() sampler.sample(nsteps) # number of steps print 'Processing trajectory...', sampler.traj.process() # compute averages, etc. print '...Done.' print 'Writing results...', sampler.traj.write_results(os.path.join(outdir,'traj_lambda%2.2f.npz'%lam)) print '...Done.' sampler.traj.read_results(os.path.join(outdir,'traj_lambda%2.2f.npz'%lam)) print 'Pickling the sampler object ...',
for i in range(energies.shape[0]): print print '#### STRUCTURE %d ####'%i if verbose: print data[i] s = Restraint('8690.pdb',lam,energies[i],data = data[i]) ensemble.append( s ) ########################################## # Next, let's do some posterior sampling ########## Posterior Sampling ############ sampler = PosteriorSampler(ensemble) sampler.sample(nsteps) # number of steps print 'Processing trajectory...', sampler.traj.process() # compute averages, etc. print '...Done.' print 'Writing results...', sampler.traj.write_results(os.path.join(outdir,'traj_lambda%2.2f.yaml'%lam)) print '...Done.' # pickle the sampler object print 'Pickling the sampler object ...', outfilename = 'sampler_lambda%2.2f.pkl'%lam print outfilename, fout = open(os.path.join(outdir, outfilename), 'wb')
plt.plot(exp_distances, model_distances,'.') plt.plot([0,5],[0,5],'k-') plt.xlabel('exp distance ($\\AA$)') plt.ylabel('model distance ($\\AA$)') plt.title('model %d'%lookat[i]) plt.show() ########################################## # Next, let's do some posterior sampling else: #sampler = PosteriorSampler(ensemble, use_reference_prior=True, sample_ambiguous_distances=False) sampler = PosteriorSampler(ensemble, dlogsigma_noe=np.log(1.02), sigma_noe_min=0.05, sigma_noe_max=5.0, dlogsigma_J=np.log(1.02), sigma_J_min=0.05, sigma_J_max=20.0, dloggamma=np.log(1.01), gamma_min=0.5, gamma_max=2.0, use_reference_prior=not(args.noref), sample_ambiguous_distances=False) #sampler = PosteriorSampler(ensemble, use_reference_prior=True) sampler.sample(args.nsteps) # number of steps print 'Processing trajectory...', sampler.traj.process() # compute averages, etc. print '...Done.' print 'Writing results...', sampler.traj.write_results(os.path.join(args.outdir,'traj_lambda%2.2f.yaml'%args.lam)) print '...Done.' # pickle the sampler object print 'Pickling the sampler object ...',
s.build_groups() # Compare the model and exp distances for s in ensemble: print s for d in s.distance_restraints: print 'd.model_distance =', d.model_distance, print 'd.noe_distance = ', d.noe_distance print 's.distance_equivalency_groups', s.distance_equivalency_groups print 's.distance_ambiguity_groups', s.distance_ambiguity_groups print '-------' ########################################## # Next, let's do some posterior sampling sampler = PosteriorSampler(ensemble) # set sampling parameters sampler.sigma_noe = 0.1 sampler.dsigma_noe = 0.005 #sampler.sigma_Jcoupl = 1.0 #sampler.dsigma_Jcoupl = 0.2 # controls the magnitude of steps in sigma_Jcoupl sampler.sample(100000) # number of steps sampler.traj.plot_results() """ ATOM 1 C1 UNK 1 1.484 2.515 0.317 1.00 0.00 C ATOM 2 O1 UNK 1 1.764 3.456 -0.687 1.00 0.00 O