ligid = IDSettingCube("Ligand Ids") # Protein Reading cube. The protein prefix parameter is used to select a name for the # output system files iprot = DatasetReaderCube("ProteinReader", title="Protein Reader") iprot.promote_parameter("data_in", promoted_name="protein", title='Protein Input Dataset', description="Protein Dataset") # Complex cube used to assemble the ligands and the solvated protein complx = ComplexPrepCube("Complex", title="Complex Preparation") complx.set_parameters(lig_res_name='LIG') # Protein Setting protset = MDComponentCube("ProteinSetting", title="Protein Setting") ofs = DatasetWriterCube('ofs', title='MD Out') ofs.promote_parameter("data_out", promoted_name="out", title="MD Out", description="MD Dataset out") fail = DatasetWriterCube('fail', title='Failures') fail.promote_parameter("data_out", promoted_name="fail", title="Failures", description="MD Dataset Failures out") job.add_cubes(iligs, ligset, ligid, iprot, protset, chargelig, complx, ofs, fail)
solvate = ParallelSolvationCube("Solvation", title="Solvation") solvate.set_parameters(density=1.03) solvate.set_parameters(salt_concentration=50.0) # solvate.set_parameters(close_solvent=True) solvate.modify_parameter(solvate.close_solvent, promoted=False, default=False) # Force Field Application ff = ParallelForceFieldCube("ForceField", title="Apply Force Field") ff.promote_parameter('protein_forcefield', promoted_name='protein_ff', default='Amber99SBildn') ff.promote_parameter('ligand_forcefield', promoted_name='ligand_ff', default='Gaff2') mdcomp = MDComponentCube("MDComponentSetting", title="MDComponentSetting") # mdcomp.promote_parameter("flask_title", promoted_name="flask_title", default='MCL1') ofs = DatasetWriterCube('ofs', title='MD Out') ofs.promote_parameter("data_out", promoted_name="out", title="MD Out", description="MD Dataset out") fail = DatasetWriterCube('fail', title='Failures') fail.promote_parameter("data_out", promoted_name="fail", title="Failures", description="MD Dataset Failures out") job.add_cubes(iligs, chargelig, ligset, ligid, iprot, mdcomp, complx, solvate,
# This Cube is necessary for the correct work of collection and shard coll_open = CollectionSetting("OpenCollection", title="Open Collection") coll_open.set_parameters(open=True) # Force Field Application ff = ParallelForceFieldCube("ForceField", title="Apply Force Field") ff.promote_parameter('protein_forcefield', promoted_name='protein_ff', default='Amber14SB') ff.promote_parameter('ligand_forcefield', promoted_name='ligand_ff', default='OpenFF_1.3.0') # Protein Setting mdcomp = MDComponentCube("MD Components", title="MD Components") mdcomp.promote_parameter("flask_title", promoted_name="flask_title", default="") # Production run prod = ParallelMDNptCube("Production", title="Production") prod.promote_parameter('time', promoted_name='prod_ns', default=2.0, description='Length of MD run in nanoseconds') prod.promote_parameter('trajectory_interval', promoted_name='prod_trajectory_interval', default=0.004, description='Trajectory saving interval in ns') prod.promote_parameter(
iprot.promote_parameter("data_in", promoted_name="protein", title="Protein Input File", description="Protein file name") complx = ComplexPrepCube("Complex") solvate = ParallelSolvationCube("Hydration", title='System Hydration') solvate.promote_parameter('density', promoted_name='density', default=1.03, description="Solution density in g/ml") solvate.promote_parameter('salt_concentration', promoted_name='salt_concentration', default=50.0, description='Salt concentration (Na+, Cl-) in millimolar') solvate.set_parameters(close_solvent=True) ff = ParallelForceFieldCube("ForceField", title="System Parametrization") ff.promote_parameter('protein_forcefield', promoted_name='protein_ff', default='Amber99SBildn') ff.promote_parameter('ligand_forcefield', promoted_name='ligand_ff', default='Gaff2') mdcomp = MDComponentCube("MDComponentSetting", title="MDComponentSetting") mdcomp.promote_parameter("flask_title", promoted_name="slack_title", default="") # Minimization minimize = ParallelMDMinimizeCube('minComplex', title="System Minimization") minimize.promote_parameter('steps', promoted_name='steps', default=2000) minimize.promote_parameter('md_engine', promoted_name='md_engine', default='OpenMM', description='Select the MD Engine') ofs = DatasetWriterCube('ofs', title='Out') ofs.promote_parameter("data_out", promoted_name="out") fail = DatasetWriterCube('fail', title='Failures') fail.promote_parameter("data_out", promoted_name="fail") job.add_cubes(iligs, chargelig, ligset, ligid,
job.description = open(path.join(path.dirname(__file__), 'PlainMD_desc.rst'), 'r').read() # Locally the floe can be invoked by running the terminal command: # python floes/PlainMD.py --ligands ligands.oeb --protein protein.oeb --out prod.oeb job.classification = [['General MD']] job.uuid = "266481fc-b257-41e9-b2f9-a92bf028b701" job.tags = [tag for lists in job.classification for tag in lists] ifs = DatasetReaderCube("SystemReader", title="System Reader") ifs.promote_parameter("data_in", promoted_name="solute", title='Solute Input File', description="Solute input file") sysid = IDSettingCube("System Ids") md_comp = MDComponentCube("MD Components") md_comp.set_parameters(multiple_flasks=True) # The solvation cube is used to solvate the system and define the ionic strength of the solution solvate = ParallelSolvationCube("Hydration", title="Hydration") solvate.promote_parameter('density', promoted_name='density', default=1.03, description="Solution density in g/ml") solvate.promote_parameter('salt_concentration', promoted_name='salt_concentration', default=50.0, description='Salt concentration (Na+, Cl-) in millimolar') solvate.set_parameters(close_solvent=True) # This Cube is necessary for the correct work of collection and shard coll_open = CollectionSetting("OpenCollection", title="Open Collection") coll_open.set_parameters(open=True)