Skip to content

Instantly share code, notes, and snippets.

@ajasja
Created July 29, 2020 20:54
Show Gist options
  • Save ajasja/a7e3d6498e5471f430ab7428b30f4e3a to your computer and use it in GitHub Desktop.
Save ajasja/a7e3d6498e5471f430ab7428b30f4e3a to your computer and use it in GitHub Desktop.
from simtk.openmm import *
from simtk.openmm.app import *
from simtk.unit import *
from pdbfixer import PDBFixer
nm = nanometer
fixer = PDBFixer(filename='test/1wa3_BA-05_modl.pdb')
fixer.findMissingResidues()
fixer.findNonstandardResidues()
#fixer.replaceNonstandardResidues()
fixer.removeHeterogens(False)
fixer.findMissingAtoms()
fixer.addMissingAtoms()
fixer.addMissingHydrogens(7.0)
maxSizeXYZ = list((max((pos[i] for pos in fixer.positions))-min((pos[i] for pos in fixer.positions)) for i in range(3)))
boxVectors = [(maxSizeXYZ[0] + 1.6*nm)*Vec3(1, 0, 0), (maxSizeXYZ[1] + 1.6*nm)*Vec3(0, 1, 0), (maxSizeXYZ[2] + 1.6*nm)*Vec3(0, 0, 1)]
fixer.addSolvent(boxVectors=boxVectors, ionicStrength=0.15*molar)
PDBFile.writeFile(fixer.topology, fixer.positions, open('test/input.pdb', 'w'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment