Skip to content

Contexts

simulation.contexts.RenderingConfig

Bases: BaseModel, YamlIO

Configuration for rendering files to write.

dir_input: str = '.' class-attribute instance-attribute

Path to a directory relative to dir_work that will contain input files.

dir_output: str = '.' class-attribute instance-attribute

Path to a directory relative to dir_work that the simulation will store output files.

dir_work: str = '.' class-attribute instance-attribute

Working directory to write files.

simulation.contexts.RuntimeConfig

Bases: BaseModel, YamlIO

Configuration options during the simulation runtime.

dir_input: str = '.' class-attribute instance-attribute

Path to a directory relative to dir_work that will contain input files.

dir_output: str = '.' class-attribute instance-attribute

Path to a directory relative to dir_work that the simulation will store output files.

dir_run: str = '.' class-attribute instance-attribute

Directory that calculations are performed in. This can be the same as dir_work or some scratch space like $SLURM_SCRATCH.

dir_work: str = '.' class-attribute instance-attribute

Working directory during runtime. This can be the current work directory or a workload manager directory such as $SLURM_SUBMIT_DIR.

splits: int = 1 class-attribute instance-attribute

Split simulation stage into several chunks.

use_scratch: bool = False class-attribute instance-attribute

Treat dir_run as a scratch directory by copying input files to that location, running the simulation there, and then copying output files back.

simulation.contexts.SimlifyConfig

Bases: BaseModel, YamlIO

Contexts for setting up molecular simulations.

engine: Any = None class-attribute instance-attribute

Atomea workflow schema for the molecular simulation engine (e.g., Amber22Schema).

extra_lines_topo_gen: Iterable[str] | None = None class-attribute instance-attribute

Extra lines to include when generating a topology.

label: str | None = None class-attribute instance-attribute

Label for this specific simulation.

rendering: RenderingConfig = Field(default_factory=RenderingConfig) class-attribute instance-attribute

runtime: RuntimeConfig = Field(default_factory=RuntimeConfig) class-attribute instance-attribute

slurm: SlurmSchema = Field(default_factory=SlurmSchema) class-attribute instance-attribute

solution: SolutionConfig = Field(default_factory=SolutionConfig) class-attribute instance-attribute

temp: dict[str, Any] = Field(default={}, exclude=True) class-attribute instance-attribute

topology: TopologyConfig = Field(default_factory=TopologyConfig) class-attribute instance-attribute

simulation.contexts.SolutionConfig

Bases: BaseModel, YamlIO

charge_anion_extra: int = 0 class-attribute instance-attribute

Number of extra anions of type [charge_anion_identity][simulation.contexts.SimlifyConfig.charge_anion_identity] to add to the system. This does not include any ions added if [charge_neutralize][simulation.contexts.SimlifyConfig.charge_neutralize] is True.

charge_anion_identity: str = 'Cl-' class-attribute instance-attribute

Many simulations include anions to either neutralize charge or prepare the solvent environment to have a specific ionic concentration. This specifies the anion to add to accomplish this.

charge_cation_extra: int = 0 class-attribute instance-attribute

Number of extra cations of type [charge_cation_identity][simulation.contexts.SimlifyConfig.charge_cation_identity] to add to the system. This does not include any ions added if [charge_neutralize][simulation.contexts.SimlifyConfig.charge_neutralize] is True.

charge_cation_identity: str = 'Na+' class-attribute instance-attribute

Many simulations include cations to either neutralize charge or prepare the solvent environment to have a specific ionic concentration. This specifies the cation to add to accomplish this.

charge_net: int = 0 class-attribute instance-attribute

Net charge of the molecular system before any preparation.

charge_neutralize: bool = True class-attribute instance-attribute

Flag to determine if system charge should be neutralized by placing additional ions of type [charge_cation_identity][simulation.contexts.SimlifyConfig.charge_cation_identity] or [charge_anion_identity][simulation.contexts.SimlifyConfig.charge_anion_identity] based on the value of [charge_net][simulation.contexts.SimlifyConfig.charge_net].

solvent_ionic_strength: float = 0.15 class-attribute instance-attribute

Ionic strength of the solvent in mol/L.

solvent_padding: float = 10.0 class-attribute instance-attribute

Padding between solute and box edge to fill with solvent in Angstroms.

simulation.contexts.TopologyConfig

Bases: BaseModel, YamlIO

Topology configuration.

append_lines: list[str] = [] class-attribute instance-attribute

Extra lines to include when generating a topology.