confgen_failure.parameter_overrides["buffered"] = {"hidden": True} # Search torsions & select best conformer for each torsgenCube = ParallelGenerateTorsionalConfs('torsional_conf_gen') torsgenCube.promote_parameter( 'num_points', required=True, title='Number of torsional conformers to generate.', description="""The number of evenly spaced torsion angles to sample when generating torsional conformers.""") torsgenCube.parameter_overrides["split_confs"] = {"hidden": True} torsgenCube.parameter_overrides["best_conf"] = {"hidden": True} # Conformer/torsion cube group group = ParallelCubeGroup(cubes=[confgenCube, torsgenCube]) job.add_group(group) # Fast QM optimization with hf3c to get approximate geometry hf3cCube = HiddenParamParallelPsi4EnergyCalculation('hf3c_precalc') hf3cCube.set_parameters(spe_method='hf3c', spe_basis='minix', opt_method='hf3c', opt_basis='minix', geom_maxiter=200) # Full QM optimization & SP for energy psi4EnergyCube = ParallelPsi4EnergyCalculation( 'parallel_psi4_energy_calculation') psi4EnergyCube.set_parameters(geom_maxiter=200) psi4EnergyCube.promote_parameter('spe_method', required=True) psi4EnergyCube.promote_parameter('spe_basis', required=True)
# NPT Equilibration stage 4 equil4 = ParallelMDNptCube('equil4', title='Equilibration IV') equil4.modify_parameter(equil4.time, promoted=False, default=0.1) equil4.promote_parameter("hmr", promoted_name="HMR", default=True) equil4.modify_parameter(equil4.restraints, promoted=False, default="ca_protein or (noh ligand)") equil4.modify_parameter(equil4.restraintWt, promoted=False, default=0.1) equil4.set_parameters(trajectory_interval=0.0) equil4.set_parameters(reporter_interval=0.002) equil4.set_parameters(suffix='equil4') equil4.promote_parameter("md_engine", promoted_name="md_engine") md_group = ParallelCubeGroup( cubes=[minComplex, warmup, equil1, equil2, equil3, equil4, prod]) job.add_group(md_group) 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") # This Cube is necessary for the correct working of collection and shard coll_close = CollectionSetting("CloseCollection", title="Close Collection")
promoted_name="in", title="MD Input Dataset", description="MD Input Dataset") # 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) trajCube = ParallelTrajToOEMolCube("TrajToOEMolCube", title="Trajectory To OEMols") IntECube = ParallelTrajInteractionEnergyCube("TrajInteractionEnergyCube", title="MM Energies") PBSACube = ParallelTrajPBSACube("TrajPBSACube", title="PBSA Energies") trajproc_group = ParallelCubeGroup(cubes=[trajCube, IntECube, PBSACube]) job.add_group(trajproc_group) confGather = ConformerGatheringData("Gathering Conformer Records", title="Gathering Conformer Records") catLigTraj = ParallelConfTrajsToLigTraj("ConfTrajsToLigTraj", title="Combine Pose Trajectories") catLigMMPBSA = ParallelConcatenateTrajMMPBSACube( 'ConcatenateTrajMMPBSACube', title="Concatenate MMPBSA Energies") clusCube = ParallelClusterOETrajCube("ClusterOETrajCube", title="Clustering") clusPop = ParallelClusterPopAnalysis('ClusterPopAnalysis', title="Clustering Analysis") clusOEMols = ParallelMakeClusterTrajOEMols('MakeClusterTrajOEMols', title="Per-Cluster Analysis") prepDataset = ParallelTrajAnalysisReportDataset('TrajAnalysisReportDataset', title="Analysis Report") report_gen = ParallelMDTrajAnalysisClusterReport(
promoted_name="in", title="MD Input Dataset", description="MD Input Dataset") # 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) trajCube = ParallelTrajToOEMolCube("TrajToOEMolCube", title="Trajectory To OEMols") IntECube = ParallelTrajInteractionEnergyCube("TrajInteractionEnergyCube", title="MM Energies") PBSACube = ParallelTrajPBSACube("TrajPBSACube", title="PBSA Energies") trajproc_group = ParallelCubeGroup(cubes=[trajCube, IntECube, PBSACube]) job.add_group(trajproc_group) # This Cube is necessary for the correct working of collection and shard coll_close = CollectionSetting("CloseCollection", title="Close Collection") coll_close.set_parameters(open=False) check_rec = ParallelRecordSizeCheck("Record Check Success", title="Record Check Success") 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')