promoted_name='protein_ff', default='amber99sbildn.xml') ff.promote_parameter('solvent_forcefield', promoted_name='solvent_ff', default='tip3p.xml') ff.promote_parameter('ligand_forcefield', promoted_name='ligand_ff', default='GAFF2') ff.promote_parameter('other_forcefield', promoted_name='other_ff', default='GAFF2') # Output the prepared systems complex_prep_ofs = OEMolOStreamCube('complex_prep_ofs', title='ComplexSetUpOut') complex_prep_ofs.set_parameters(backend='s3') complex_prep_ofs.set_parameters( data_out=iprot.promoted_parameters['protein_prefix']['default'] + '_SetUp.oeb.gz') # Minimization minComplex = OpenMMminimizeCube('minComplex', title='Minimize') minComplex.promote_parameter('restraints', promoted_name='m_restraints', default="noh (ligand or protein)", description='Select mask to apply restarints') minComplex.promote_parameter('restraintWt', promoted_name='m_restraintWt', default=5.0, description='Restraint weight') minComplex.promote_parameter('steps', promoted_name='steps', default=20000)
nvt = OpenMMnvtCube('nvt') nvt.promote_parameter('time', promoted_name='picosec', default=10.0) nvt.promote_parameter('temperature', promoted_name='temperature', default=300.0, description='Selected temperature in K') # Restraints nvt.promote_parameter('restraints', promoted_name='restraints', default='noh (ligand or protein)') nvt.promote_parameter('restraintWt', promoted_name='restraintWt', default=2.0) # Trajectory and logging info frequency intervals nvt.promote_parameter('trajectory_interval', promoted_name='trajectory_interval', default=100, description='Trajectory saving interval') nvt.promote_parameter('reporter_interval', promoted_name='reporter_interval', default=1000, description='Reporter saving interval') nvt.promote_parameter('outfname', promoted_name='suffix', default='nvt', description='Equilibration suffix name') ofs = OEMolOStreamCube('ofs', title='OFS-Success') ofs.set_parameters(backend='s3') fail = OEMolOStreamCube('fail', title='OFS-Failure') fail.set_parameters(backend='s3') fail.set_parameters(data_out='fail.oeb.gz') job.add_cubes(ifs, nvt, ofs, fail) ifs.success.connect(nvt.intake) nvt.success.connect(ofs.intake) nvt.failure.connect(fail.intake) if __name__ == "__main__": job.run()
job.description = """ **Check available OpenMM Platforms** Based on OpenMM SimTK installation check script """ job.classification = [ ["OpenMM", "Platforms"] ] job.tags = [tag for lists in job.classification for tag in lists] ifs = OEMolIStreamCube("ifs") ofs = OEMolOStreamCube("ofs") # Promotes the parameter to something we can specify from the command line as "--ifs=..." ifs.promote_parameter("data_in", promoted_name="ifs") # this is hardwiring the filename to the molecules coming out of ofs ofs.set_parameters(data_out="openmmPlatformCheck.oeb") # the name of the object has to match the string: this is the name of myself platformTester = PlatformTestCube("platformTester") job.add_cubes(ifs, ofs, platformTester) ifs.success.connect(platformTester.intake) platformTester.success.connect(ofs.intake) if __name__ == "__main__": job.run()