[][src]Struct mbar_rs::MBar

pub struct MBar<const N_TOT: usize, const K: usize> { /* fields omitted */ }

Multistate Bennett acceptance ratio method (MBAR) for the analysis of multiple equilibrium samples.

Notes

Note that this method assumes the data are uncorrelated.

Correlated data must be subsampled to extract uncorrelated (effectively independent) samples.

References

[1] Shirts MR and Chodera JD. Statistically optimal analysis of samples from multiple equilibrium states. J. Chem. Phys. 129:124105, 2008 http://dx.doi.org/10.1063/1.2978177

Implementations

impl<const N_TOT: usize, const K: usize> MBar<N_TOT, K>[src]

pub fn builder() -> MBarBuilder<N_TOT, K>[src]

Get a new builder for the MBar struct. MBar can only be constructed via the builder.

pub fn compute_pmf(
    &self,
    u_n: [f64; N_TOT],
    bin_n: [usize; N_TOT],
    n_bins: usize,
    uncertainties: PmfUncertainties
) -> Result<Pmf, Box<dyn Error>>
[src]

Compute the free energy of occupying a number of bins.

This implementation computes the expectation of an indicator-function observable for each bin.

Parameters

u_n: [f64; N_TOT] --- u_n[n] is the reduced potential energy of snapshot n of state k `for which the PMF is to be computed.

bin_n: [usize; N_TOT] --- bin_n[n] is the bin index of snapshot n of state k. bin_n can assume a value in 0..n_bins

n_bins: usize --- The number of bins

uncertainties: PmfUncertainties --- Method for reporting uncertainties

Notes

  • All bins must have some samples in them from at least one of the states – this will not work if bin_n.sum(0) == 0. Empty bins should be removed before calling compute_pmf().
  • This method works by computing the free energy of localizing the system to each bin for the given potential by aggregating the log weights for the given potential.
  • To estimate uncertainties, the N×K weight matrix $W_nk$ is augmented to be N×(K+n_bins) in order to accomodate the normalized weights of states where the potential is given by u_kn within each bin and infinite potential outside the bin. The uncertainties with respect to the bin of lowest free energy are then computed in the standard way.

Trait Implementations

impl<const N_TOT: usize, const K: usize> Debug for MBar<N_TOT, K>[src]

Auto Trait Implementations

impl<const N_TOT: usize, const K: usize> !RefUnwindSafe for MBar<N_TOT, K>

impl<const N_TOT: usize, const K: usize> Send for MBar<N_TOT, K>

impl<const N_TOT: usize, const K: usize> Sync for MBar<N_TOT, K>

impl<const N_TOT: usize, const K: usize> Unpin for MBar<N_TOT, K>

impl<const N_TOT: usize, const K: usize> UnwindSafe for MBar<N_TOT, K>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.