ShellComposition
Configuration for the LNP shell (external) monolayer.
Attributes
attributemodel_config= ConfigDict(extra='forbid')attributespecieslist[LipidSpecies]attributez0float= Field(10.0, description='Pivotal plane offset for shell projection in Angstroms.')attributearea_per_lipidfloat= Field(65.0, description='Average area per lipid in Ų.', gt=0)attributeinput_fractionsdict[str, float]= Field(default_factory=dict, description='Original input fractions by resname (preserved for reporting).')Functions
funcvalidate_fractions(self) → ShellCompositionfunccalculate_counts(self, core_radius, min_count=5) → NoneCalculate lipid counts for the monolayer patch to equilibrate.
We use the smallest patch size that ensures all species have at least
min_count lipids, trying fractions [1/8, 1/4, 1/2, 1] of the total.
This is more economical than equilibrating all lipids, since the
patch will be replicated to cover the sphere surface.
paramselfparamcore_radiusfloatCore radius in Angstroms (shell wraps around this).
parammin_countint= 5Minimum count per species to ensure representation after cropping.
Returns
None