fairmd.lipids.quality module
Accumulate functions required for major evaluate_quality script.
TODO: add proper tests
- class fairmd.lipids.quality.QualSimulation(s: System)[source]
Bases:
System- static load_all_paired() list[QualSimulation][source]
Load simulations with experimental pairings.
- class fairmd.lipids.quality.QualityEvaluator(simulation: QualSimulation, experiments: ExperimentCollection)[source]
Bases:
ABCInterface for quality evaluation of simulation.
- static prob_2_within_trustinterval(xv: ArrayLike, xerr: ArrayLike, yv: ArrayLike, yerr: ArrayLike) ArrayLike[source]
Compute the probability of two vals being a part of one distribution.
Used quality value from experimental and simulation OP data. Probability is computed using Eq. (3) [10.1038/s41467-024-45189-z].
NOTE: Computing the probability taking into account small values using scipy.special.log1p is not required if sd is above 1e-5, which is currently the case for all OP data. It is also not required if we are not going to bring values to log-scale.
- Parameters:
xv – Experimental OP value (all float/arrays)
xerr – Experimental error
yv – Simulated OP value
yerr – Standard deviation from simulation
- Returns:
float/ndarray
- Return type:
probability value(s) or nans
- class fairmd.lipids.quality.OPQualityEvaluator(simulation: QualSimulation, experiments: ExperimentCollection)[source]
Bases:
QualityEvaluatorEvaluate quality of order parameter data.
- classmethod atomic_quality(exp_op_data: dict, sim_op_data: dict) dict[source]
Calculate quality for a molecule (times their weights in exp data).
- Parameters:
exp_op_data – dictionary of type {op_uname: [op_value]}.
sim_op_data – dictionary of type {op_uname: [op_value, op_sigma, op_sd]}.
- Returns:
dictionary of type {“nC nH”: quality value}.
- classmethod get_fragments_coverage(fragments: dict, q_data: dict) dict[source]
Calculate the coverage in data of each fragment.
The coverage is implemented as the percent of non-nans.
- Parameters:
fragments – Dictionary of type {fragment: lists of unames}.
q_data – Dictionary of type {op_uname: quality value}.
- Returns:
Dictionary of type {fragment: percentage of evaluated OPs}
- class fairmd.lipids.quality.FFQualityEvaluator(simulation: QualSimulation, experiments: ExperimentCollection)[source]
Bases:
QualityEvaluatorEvaluate quality of form factor data.
- static calc_ff_quality(ffd_sim: ndarray, ffd_exp: ndarray) float[source]
Calculate form factor quality.
Quality calculation is performed as defined by Kučerka et al. 2010, doi:10.1007/s00232-010-9254-5
- Parameters:
ffd_sim – Simulation FF data (float 2D list)
ffd_exp – Experiment FF data (float 2D list)
- Returns:
Quality value.