def __init__(self, model, protein, parameterFileName): self.model = model self.protein = protein self.namesToParticles = atomicDominoUtilities.makeNamesToParticles(protein) self.readParameters(parameterFileName) self.wroteNativeProtein = 0 self.maxMem = 0
def loadDockingHelpers(self): outputDir = self.getParam("output_directory") mkdirProcess = subprocess.Popen(['mkdir', '-p', self.getParam('output_directory')], shell=False, stderr=subprocess.PIPE) output = mkdirProcess.communicate() self.namesToParticles = atomicDominoUtilities.makeNamesToParticles(self.protein) self.times = [] self.rawTimes = []
def calculateRmsd(self, otherProtein, flexibleAtoms): otherNamesToParticles = atomicDominoUtilities.makeNamesToParticles(otherProtein) otherVector = [] modelVector = [] for pName in otherNamesToParticles.keys(): if (flexibleAtoms.has_key(pName) == 0): continue otherParticle = otherNamesToParticles[pName] modelParticle = self.namesToParticles[pName] otherVector.append(IMP.core.XYZ.decorate_particle(otherParticle).get_coordinates()) modelVector.append(IMP.core.XYZ.decorate_particle(modelParticle).get_coordinates()) rmsd = IMP.atom.get_rmsd(otherVector, modelVector) return rmsd