icolos.core.workflow_steps.pmx package#
Submodules#
icolos.core.workflow_steps.pmx.abfe module#
- class icolos.core.workflow_steps.pmx.abfe.StepPMXabfe(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Setup files for an ABFE calculation.
icolos.core.workflow_steps.pmx.assemble_systems module#
- class icolos.core.workflow_steps.pmx.assemble_systems.StepPMXAssembleSystems(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Executes the assemble_systems.py script, edges are parallelized over available cores
- boxd: float#
- boxshape: str#
- conc: float#
- ff: str#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- sim_types: List#
- states: List#
- therm_cycle_branches: List#
- water: str#
icolos.core.workflow_steps.pmx.atomMapping module#
- class icolos.core.workflow_steps.pmx.atomMapping.StepPMXatomMapping(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Ligand alchemy: map atoms for morphing.
- boxd: float#
- boxshape: str#
- conc: float#
- ff: str#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- sim_types: List#
- states: List#
- therm_cycle_branches: List#
- water: str#
icolos.core.workflow_steps.pmx.base module#
- class icolos.core.workflow_steps.pmx.base.StepPMXBase(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepBase
,BaseModel
Base class containing shared methods for Non-equilibrium free energy calculations Additional settings (these apply to any step that inherits StepPMXBase) :str run_type: specify absolute or relative mode, default = rbfe :str boxshape: specify the boxshape to use in calculation setup, deafult = dodecahedron :float boxd: spefify solvent box buffer dimention, default = 1.5 :str water: specify water model, default = tip3p :float conc: specify salt concentration, default=0.15
- boxd: float#
- boxshape: str#
- conc: float#
- ff: str#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- sim_types: List#
- states: List#
- therm_cycle_branches: List#
- water: str#
icolos.core.workflow_steps.pmx.box_water_ions module#
- class icolos.core.workflow_steps.pmx.box_water_ions.StepPMXBoxWaterIons(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Take the prepared structure files and prepare the system, runs editconf, solvate, genion and grompp for each system to be simulated
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.doublebox module#
- class icolos.core.workflow_steps.pmx.doublebox.StepPMXdoublebox(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Place two input structures into a single box.
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.genlib module#
- class icolos.core.workflow_steps.pmx.genlib.StepPMXgenlib(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Generate pmx ff library.
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.gentop module#
- class icolos.core.workflow_steps.pmx.gentop.StepPMXgentop(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Fill hybrid topology with B states.
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.ligandHybrid module#
- class icolos.core.workflow_steps.pmx.ligandHybrid.StepPMXligandHybrid(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Ligand alchemy: hybrid structure/topology.
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.mutate module#
- class icolos.core.workflow_steps.pmx.mutate.StepPMXmutate(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
This is the de facto entrypoint for a protein FEP workflow
This step does the legwork for setting up the output dir structure, similar to pmx_setup for the small molecule case
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.prepare_simulations module#
- class icolos.core.workflow_steps.pmx.prepare_simulations.StepPMXPrepareSimulations(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Prepare the tpr file for either equilibration or production simulations
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.prepare_transitions module#
- class icolos.core.workflow_steps.pmx.prepare_transitions.StepPMXPrepareTransitions(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Prepare transitions: extract snapshots from equilibrium simulations, prepare .tpr files for each
- boxd: float#
- boxshape: str#
- conc: float#
- execution: StepExecutionParameters#
- ff: str#
- input: StepInputParameters#
- mdp_prefixes: Dict#
- nname: str#
- pname: str#
- run_type: str#
- settings: StepSettingsParameters#
- sim_types: List#
- states: List#
- step_id: str#
- therm_cycle_branches: List#
- type: str#
- water: str#
- work_dir: str#
- writeout: List[StepWriteoutParameters]#
icolos.core.workflow_steps.pmx.run_analysis module#
- class icolos.core.workflow_steps.pmx.run_analysis.StepPMXRunAnalysis(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None, results_summary: ~pandas.core.frame.DataFrame = None, results_all: ~pandas.core.frame.DataFrame = None)[source]#
Bases:
StepPMXBase
,BaseModel
Analyses map, returns both a summary and a full results dataframe, written to top level of work_dir, and attaches properties to the compound
- compute_exp_ddG(lig1: str, lig2: str, node_data: DataFrame, exp_data: DataFrame) float [source]#
Compute the ddG between two ligands from experimental data
- results_all: DataFrame#
- results_summary: DataFrame#
icolos.core.workflow_steps.pmx.run_simulations module#
- class icolos.core.workflow_steps.pmx.run_simulations.StepPMXRunSimulations(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None, sim_type: str = '')[source]#
Bases:
StepPMXBase
,BaseModel
Runs md simulations, unwraps into pool of individual jobs, parallelized over available GPUs
- sim_type: str#
icolos.core.workflow_steps.pmx.setup_workpath module#
- class icolos.core.workflow_steps.pmx.setup_workpath.StepPMXSetup(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), sim_types: ~typing.List = None, states: ~typing.List = None, therm_cycle_branches: ~typing.List = None, run_type: str = None, ff: str = None, boxshape: str = None, boxd: float = None, water: str = None, conc: float = None, pname: str = None, nname: str = None, mdp_prefixes: ~typing.Dict = None)[source]#
Bases:
StepPMXBase
,BaseModel
Create the directory tree structure. Requires the pmx workflow to be executing using the single_dir running mode Operates on the perturbation map object, runs acpype on the written structures to produce the amber-compatible itp files Additional settings: :param int replicas: number of replicas to run for each edge, default=3 :param str charge_method: partial charge type, must be recognised by antechamber :param str boxshape: specify the boxshape to use in calculation setup, deafult = dodecahedron :param float boxd: spefify solvent box buffer dimention, default = 1.5 :param str water: specify water model, default = tip3p :param float conc: specify salt concentration, default=0.15 :param str forcefield: specify the forcefield for protein parametrisation. Must be findable in $GMXLIB :param str topology: specify perturbation map topology, default = “normal”