protocols
Reusable molecular dynamics protocol runners.
import mlx_atomistic.protocols
Classes
Section titled “Classes”MinimizeThenNVTProtocol
Section titled “MinimizeThenNVTProtocol”class MinimizeThenNVTProtocol def __init__(minimize_steps: int = 200, minimize_step_size: float = 0.0001, force_tolerance: float = 0.001, equilibration_steps: int = 1000, production_steps: int = 5000, dt: float = 0.001, sample_interval: int = 100, temperature: float = 300.0, friction: float = 1.0, seed: int | None = 7, diagnostic_interval: int = 1, compile_force_evaluator: bool = True, ensemble: str = 'NVT', proof_mode: str = NVT_PROOF_MODE, barostat: str | bool | None = None, npt_barostat: bool = False, membrane_barostat: str | bool | None = None)Minimal production-style protocol: minimize, equilibrate, then sample NVT.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
minimize_steps | int | 200 | |
minimize_step_size | float | 0.0001 | |
force_tolerance | float | 0.001 | |
equilibration_steps | int | 1000 | |
production_steps | int | 5000 | |
dt | float | 0.001 | |
sample_interval | int | 100 | |
temperature | float | 300.0 | |
friction | float | 1.0 | |
seed | int | None | 7 | |
diagnostic_interval | int | 1 | |
compile_force_evaluator | bool | True | |
ensemble | str | 'NVT' | |
proof_mode | str | NVT_PROOF_MODE | |
barostat | str | bool | None | None | |
npt_barostat | bool | False | |
membrane_barostat | str | bool | None | None |
Methods
compatibility_report
Section titled “compatibility_report”def compatibility_report(*, raise_on_blockers: bool = False) -> ProtocolCompatibilityReportReturn the fail-closed GPCRmd proof compatibility decision.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
raise_on_blockers | bool | False |
Returns
ProtocolCompatibilityReport
protocol_metadata
Section titled “protocol_metadata”def protocol_metadata() -> dict[str, Any]Return normalized metadata for accepted NVT proof runs.
Returns
dict[str, Any]
ProtocolCompatibilityError
Section titled “ProtocolCompatibilityError”class ProtocolCompatibilityError(ValueError) def __init__(report: ProtocolCompatibilityReport)Raised when a requested protocol is outside the GPCRmd MLX proof gate.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
report | ProtocolCompatibilityReport |
ProtocolCompatibilityReport
Section titled “ProtocolCompatibilityReport”class ProtocolCompatibilityReport def __init__(accepted: bool, ensemble: str, proof_mode: str, barostat: str, blockers: tuple[str, ...], metadata: dict[str, Any])Compatibility decision for the GPCRmd MLX proof protocol.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
accepted | bool | ||
ensemble | str | ||
proof_mode | str | ||
barostat | str | ||
blockers | tuple[str, ...] | ||
metadata | dict[str, Any] |
ProtocolResult
Section titled “ProtocolResult”class ProtocolResult def __init__(minimization: MinimizationResult, equilibration: NVTResult | None, production: NVTResult, protocol_metadata: dict[str, Any] = dict())Outputs from a minimize/equilibrate/production workflow.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
minimization | MinimizationResult | ||
equilibration | NVTResult | None | ||
production | NVTResult | ||
protocol_metadata | dict[str, Any] | dict() |
Functions
Section titled “Functions”protocol_readiness_report
Section titled “protocol_readiness_report”def protocol_readiness_report(protocol_metadata: Mapping[str, Any] | None = None, *, ensemble: str | None = None, proof_mode: str | None = None, barostat: str | bool | None = None, npt_barostat: bool | None = None, membrane_barostat: str | bool | None = None) -> ReadinessReportReturn the protocol gate as a shared readiness report.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
protocol_metadata | Mapping[str, Any] | None | None | |
ensemble | str | None | None | |
proof_mode | str | None | None | |
barostat | str | bool | None | None | |
npt_barostat | bool | None | None | |
membrane_barostat | str | bool | None | None |
Returns
ReadinessReport
run_minimize_then_nvt
Section titled “run_minimize_then_nvt”def run_minimize_then_nvt(positions, velocities, masses, force_terms: ForceTerm | list[ForceTerm] | tuple[ForceTerm, ...], *, protocol: MinimizeThenNVTProtocol | None = None, cell: Cell | None = None, constraints: DistanceConstraints | None = None, unit_system: MDUnitSystem | None = None, neighbor_manager: NeighborListManager | None = None, reporters: RuntimeReporter | list[RuntimeReporter] | tuple[RuntimeReporter, ...] | None = None) -> ProtocolResultRun minimization, optional NVT equilibration, and NVT production in MLX.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
positions | |||
velocities | |||
masses | |||
force_terms | ForceTerm | list[ForceTerm] | tuple[ForceTerm, ...] | ||
protocol | MinimizeThenNVTProtocol | None | None | |
cell | Cell | None | None | |
constraints | DistanceConstraints | None | None | |
unit_system | MDUnitSystem | None | None | |
neighbor_manager | NeighborListManager | None | None | |
reporters | RuntimeReporter | list[RuntimeReporter] | tuple[RuntimeReporter, ...] | None | None |
Returns
ProtocolResult
validate_gpcrmd_protocol_request
Section titled “validate_gpcrmd_protocol_request”def validate_gpcrmd_protocol_request(protocol_metadata: Mapping[str, Any] | None = None, *, ensemble: str | None = None, proof_mode: str | None = None, barostat: str | bool | None = None, npt_barostat: bool | None = None, membrane_barostat: str | bool | None = None, raise_on_blockers: bool = False) -> ProtocolCompatibilityReportValidate the current GPCRmd proof protocol gate.
The proof gate accepts NVT and the first orthorhombic Monte Carlo NPT path.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
protocol_metadata | Mapping[str, Any] | None | None | |
ensemble | str | None | None | |
proof_mode | str | None | None | |
barostat | str | bool | None | None | |
npt_barostat | bool | None | None | |
membrane_barostat | str | bool | None | None | |
raise_on_blockers | bool | False |
Returns
ProtocolCompatibilityReport