Domain Placer (DOP)#

The DOP tool is implemented in domain_placer.py and is used to manage domain placement.

CLI tool to place lipids in membrane domains based on local curvature preferences. Uses domain_input.txt format for lipid specifications and generates input.str for next steps.

Example domain_input.txt: ; domain lipid percentage c0 density 0 POPC .5 0.179 0.64 2 POPG .5 0.629 0.64

Tools.domain_placer.DOP(args: List[str]) None[source]#

Main entry point for Domain Placer tool

class Tools.domain_placer.LipidSpec(domain_id: int, name: str, percentage: float, curvature: float, density: float)[source]#

Bases: object

Specification for a lipid type and its properties

curvature: float#
density: float#
domain_id: int#
name: str#
percentage: float#
Tools.domain_placer.assign_domains(membrane: Point, lipids: Sequence[LipidSpec], layer: str = 'both', k_factor: float = 1.0) None[source]#

Assign lipids to domains based on curvature preferences

Tools.domain_placer.calculate_curvature_weights(local_curvature: float, lipids: Sequence[LipidSpec], k_factor: float, max_delta: float = 5.0) ndarray[source]#

Calculate Boltzmann weights for each lipid type at given curvature

Tools.domain_placer.parse_lipid_file(file_path: Path) List[LipidSpec][source]#

Parse lipid specification file into structured data

Tools.domain_placer.write_input_str(lipids: Sequence[LipidSpec], output_file: Path, old_input: Path | None = None) None[source]#

Write input.str file for TS2CG, preserving all comments and sections except [Lipids List]. Maintains exact formatting of the original file.