def __init__(self, predictions, measurements, uncertainties, state_assignments, prior_pops=None): """Note that this class state-averaged predictions. This is in contrast to the BELT methed, which takes inputs for each *frame*. Notes ----- prior_pops determines the hyperparameters used in the Dirichlet prior. Depending on your needs, there are several possibilities. A vector of ones is a reasonable choice for an uninformative prior, as this allows the data and likelihood to determine the value of the populations. Another choice of `prior_pops` is to input the observed counts from your simulations. This centers the prior density maximum around the simulation results, penalizing models that stray from the simulation. Note that for simulations with time correlation, you may have to scale the total number of observed counts by the statistical inefficiency, so as to correct for correlation between counts. """ EnsembleFitter.__init__(self, predictions, measurements, uncertainties) self.state_assignments = state_assignments self.num_states = len(np.unique(self.state_assignments)) if prior_pops is not None: self.prior_pops = prior_pops else: self.prior_pops = np.ones(self.num_states) self.initialize_variables()
def __init__(self, predictions, measurements, uncertainties, prior_pops=None): """Abstract base class for Bayesian Energy Landscape Tilting. Parameters ---------- predictions : ndarray, shape = (num_frames, num_measurements) predictions[j, i] gives the ith observabled predicted at frame j measurements : ndarray, shape = (num_measurements) measurements[i] gives the ith experimental measurement uncertainties : ndarray, shape = (num_measurements) uncertainties[i] gives the uncertainty of the ith experiment prior_pops : ndarray, shape = (num_frames) Prior populations of each conformation. If None, use uniform populations. """ EnsembleFitter.__init__(self, predictions, measurements, uncertainties, prior_pops=prior_pops)