MDFactoryMDFactory

utils

Shared utilities for bilayer analyses.

funcspecies_by_resname(build_input)dict[str, object]

Return a mapping of residue name to species object.

parambuild_input'BuildInput'

Returns

dict[str, object]
funclipid_species_by_resname(build_input)dict[str, LipidSpecies]

Return lipid species keyed by residue name.

parambuild_input'BuildInput'

Returns

dict[str, LipidSpecies]
funcwater_resnames(build_input)list[str]

Return residue names that correspond to water species.

parambuild_input'BuildInput'

Returns

list[str]
funcresidue_atoms(residue, atom_indices)Any | None

Return AtomGroup for indices present in the residue.

paramresidue'Residue'
paramatom_indicesIterable[int]

Returns

typing.Any | None
funcresidue_mean_position(residue, atom_indices)np.ndarray | None

Return the mean position of atom indices in a residue.

paramresidue'Residue'
paramatom_indicesIterable[int]

Returns

numpy.numpy.ndarray | None
funcresidue_atom_positions(residue, atom_indices)np.ndarray

Return stacked positions for the requested atom indices in a residue.

paramresidue'Residue'
paramatom_indicesIterable[int]

Returns

numpy.numpy.ndarray
funcheadgroup_positions(universe, resname, head_atoms)np.ndarray

Return mean headgroup positions for each residue of a species.

paramuniverse'mda.Universe'
paramresnamestr
paramhead_atomsIterable[int]

Returns

numpy.numpy.ndarray
functail_positions(universe, resname, tail_atoms)np.ndarray

Return stacked tail atom positions for a species.

paramuniverse'mda.Universe'
paramresnamestr
paramtail_atomsIterable[int]

Returns

numpy.numpy.ndarray
functrajectory_window(universe, *, start_ns=None, end_ns=None, last_ns=None, stride=1)tuple[int, int, int]

Return start/stop/step indices for a trajectory window.

paramuniversemda.Universe

MDAnalysis Universe with loaded trajectory

paramstart_nsfloat | None
= None

Start analysis from this time in nanoseconds. Ignored when last_ns is set.

paramend_nsfloat | None
= None

Stop analysis at this time in nanoseconds.

paramlast_nsfloat | None
= None

Analyze the last N ns of the trajectory. Takes precedence over start_ns.

paramstrideint
= 1

Frame stride (step size)

Returns

tuple

(start_frame, stop_frame, step) for trajectory slicing

funcmidplane_from_positions(positions)float | None

Return the median z-position used for leaflet assignment.

parampositionsnp.ndarray

Returns

float | None
funcframe_time_ns(ts)float

Return the current frame time in nanoseconds.

paramtsAny

Returns

float
funcrun_per_frame_analysis(func, trajectory, *args, **run_kwargs)list

Run a per-frame analysis, preserving variable-length results as a list.

Wraps AnalysisFromFunction but overrides _conclude to prevent numpy conversion of results, which fails when per-frame outputs have variable lengths (ragged arrays).

paramfunccallable

Per-frame analysis function passed to AnalysisFromFunction

paramtrajectoryMDAnalysis trajectory

Trajectory to iterate over

paramargsAny
= ()
paramrun_kwargsAny
= {}

Returns

list

Per-frame results as a Python list (not coerced to ndarray)