StateDataReporter('relax-hydrogens.log', 1000, step=True, temperature=True, potentialEnergy=True, totalEnergy=True, speed=True)) minimize.step(min_steps) print("Done 100000 steps of minimization.") print("Potential energy after minimization:") #print(minimize.context.getState(getEnergy=True).getPotentialEnergy()) positions = minimize.context.getState(getPositions=True).getPositions() print("Done updating positions.") #velocities = minimize.context.getState(getVelocities=True).getVelocities() #print("Done updating velocities.") minimize.saveCheckpoint('state.chk') print("Done saving checkpoints.") # update the current context with changes in system # minimize.context.reinitialize(preserveState=True) # output the minimized protein as a shortcut PDBFile.writeFile(molecule.topology, positions, open(f'{pdbid}_chain{chain}_minimized.pdb', 'w'), keepIds=True) print("Done outputing minimized pdb.") # clean the context del minimize.context # directly load the minimized protein pdb = PDBFile(f'{pdbid}_chain{chain}_minimized.pdb') molecule = Modeller(pdb.topology, pdb.positions) # load force field
print("Done setting tolerance.") simulation.minimizeEnergy(tolerance=tolerance, maxIterations=1000) print("Done setting energy minimization.") simulation.reporters.append( StateDataReporter('relax-hydrogens.log', 1000, step=True, temperature=True, potentialEnergy=True, totalEnergy=True, speed=True)) simulation.step(10000) print("Done 10000 steps of simulation.") positions = simulation.context.getState(getPositions=True).getPositions() print("Done updating positions.") simulation.saveCheckpoint('state.chk') print("Done saving checkpoints.") # update the current context with changes in system simulation.context.reinitialize() # Set up the context for mtd simulation # at this step the CV and the system are separately passed to Metadynamics meta = mtd.Metadynamics(system, [bv], 310.15 * unit.kelvin, 6.0, 1.2 * unit.kilojoules_per_mole, 500, saveFrequency=500, biasDir='./biases') integrator = mm.LangevinIntegrator(310.15 * unit.kelvin, 1.0 / unit.picosecond, 0.002 * unit.picoseconds)