Solution Builder
Create Solution Builder project
To begin, you must first have a PDB Reader project. E.g.:
# alt: pdbreader_project_id = pdbreader.projectId
pdbreader_project_id = '78080ec8-bfcd-4141-8f22-f0ae805374ff'
sbuilder = molcube.create_solution_builder_project()
assert sbuilder.create_project(title="my_solution_project",
pdbreader_project_id=pdbreader_project_id)
We will combine the individual components to build the system for molecular dynamics (MD) simulation. The following arguments are available for the method:
boxShape (str): System box shape (default: cubic)
margin (float): Box margin around the solute, dynamically applied based on solute size (default: 10.0).
boxSize (float, optional): Fixed box size in Å. When specified, overrides margin-based sizing (default: None).
ions (str): Type of ions to use (default: “kcl”).
ionConc (float): Ion concentration (default: 0.15).
neutralize (bool): Whether to neutralize the system (ion-related option) (default: False).
temperature (float): Temperature for the system in Kelvin (default: 310.0).
useHmr (bool): Whether to use hydrogen mass repartitioning (default: False).
mdEngines (list[str]): List of molecular dynamics engines to use (default: [‘openmm’]).
The available options for ions and mdengine are as follows:
boxShape: [‘cubic’, ‘truncated_octahedron’]
ions: [‘kcl’, ‘nacl’, ‘cacl2’]
mdEngines: [‘openmm’, ‘amber’, ‘gromacs’, ‘namd’, ‘genesis’, ‘desmond’]
Note: Both margin and boxSize are box sizing options, but only one will be applied:
margin: Creates a box that dynamically fits the solute with the specified margin around itboxSize: Sets a fixed box size regardless of solute dimensionsIf
boxSizeis provided, it takes precedence andmarginis ignored
mdEngines = ['openmm', 'gromacs']
assert sbuilder.generate_system(mdEngines=mdEngines)