schrodinger.application.desmond.mxmd.mxmd_system_builder module¶
Script to setup cosolvent system
- class schrodinger.application.desmond.mxmd.mxmd_system_builder.Cosolvent(filename: str)¶
Bases:
object
- property box_strucs: List[schrodinger.structure._structure.Structure]¶
- property probe_pdbres¶
- property density: float¶
Return average density of the box in g/cm^3
- property probe_nheavy: int¶
Return number of heavy atoms per probe molecule
- property probe_mass: float¶
Return molecular weight of the probe
- property filename¶
- schrodinger.application.desmond.mxmd.mxmd_system_builder.get_probe_paths(probe_names: List[str], custom_probe_dir: Optional[str] = None) Tuple[List[str], List[str], List[str]] ¶
Process the given probe names and return paths to their .box.mae file. Additionally return any missing probes.
- Returns
A 3-tuple of two lists containing probe paths for custom probe and builtin probes and a list containing probe names with missing files.
- schrodinger.application.desmond.mxmd.mxmd_system_builder.convert_vv2mol(probe: schrodinger.application.desmond.mxmd.mxmd_system_builder.Cosolvent, target_vv_ratio: float = 5.0) int ¶
This function reports the number of water molecules required to maintain the required volume/volume ratio for each molecules of the probe Assumes that density is provided in gm/cm3 molecular mass also should be specified in gm/mol :param probe_name: Name of the cosolvent used to build mixed-solvent box :param target_vv_ratio: Volume over volume ratio in percent
- class schrodinger.application.desmond.mxmd.mxmd_system_builder.CosolventBoxGenerator(solute_fname: str, probe_path: str, box_number: int, init_water_buffer: float = 17.0, cosolvent_layer_size: float = 7.0, cosolvent_volume_ratio: float = 5.0, cosolvent_vdw_scaling: Optional[float] = None, water: str = 'SPC', membrane: Optional[str] = None)¶
Bases:
object
Example:
gen = CosolventBoxGenerator( inp_fname, 'probe_directory/acetonitrile.box.mae', 1, cosolvent_layer_size=5.0, cosolvent_volume_ratio=2.0) gen.generate(out_fname)
- __init__(solute_fname: str, probe_path: str, box_number: int, init_water_buffer: float = 17.0, cosolvent_layer_size: float = 7.0, cosolvent_volume_ratio: float = 5.0, cosolvent_vdw_scaling: Optional[float] = None, water: str = 'SPC', membrane: Optional[str] = None)¶
- generate(fname: str)¶
- schrodinger.application.desmond.mxmd.mxmd_system_builder.solvate_with_cosolvent(inp_mae: pathlib.Path, water_model: str = 'spc', init_water_buffer=17.0) List[schrodinger.structure._structure.Structure] ¶
Solvate the cosolvent ct with water
- Parameters
inp_mae – The path to the input mae. This is a system containing the cosolvent.
job_dir – A path to the directory to run the job in
water_model – The water type to use as the solvent
init_water_buffer – The initial size of water box
- Returns
Two structures from system_builder output: the solute and solvent
- schrodinger.application.desmond.mxmd.mxmd_system_builder.merge_membrane_and_cosolvent_systems(receptor_cosolvent_sts: List[schrodinger.structure._structure.Structure], receptor_membrane_water_sts: List[schrodinger.structure._structure.Structure]) List[schrodinger.structure._structure.Structure] ¶
- To handle membrane systems we have the systems:
receptor + cosolvent_layer (receptor_cosolvent_sts)
receptor + membrane + water (receptor_membrane_water_sts)
We want to merge these sysems by removing the cosolvent mols that clash with the lipid mols and water mols that clash with cosolvent mol.
- Parameters
receptor_cosolvent_sts – receptor + cosolvent_layer
receptor_membrane_water_sts – receptor + membrane + water
- Returns
List of structures in the following order: receptor + membrane + cosolvent + waters
- schrodinger.application.desmond.mxmd.mxmd_system_builder.shrink_box(cts: List[schrodinger.structure._structure.Structure], required_nwat: int) None ¶
Shrink the system box so that it contains a given number of water molecules. If
cts
contain a membrane, it will also shrink the membrane CTs.- Parameters
cts – The input structures in the order of: [non-solvent ct…, cosolvent ct, water ct]. These cts are modified in place.
required_nwat – How many waters should remain after shrinking system
- schrodinger.application.desmond.mxmd.mxmd_system_builder.get_fullsystem_ct(sts: List[schrodinger.structure._structure.Structure]) schrodinger.structure._structure.Structure ¶
Given a list of component CTs, return a full-system CT.
NOTE: This function does not handle GCMC systems.