def detailmerit(self, iflist, oflist, refene): self.iflist = iflist[:] self.oflist = oflist[:] self.refene = refene[:] result = {} optimize(iflist, oflist) optene = energy(oflist) difene = map(operator.sub, refene, optene) result['Energy RMS'] = tools.STDD(optene, refene) result['Energy UME'] = tools.MADMD(optene, refene) result['Energy MAX'] = (max(difene) - min(difene))/2.0 disres = cmpmol.batchcmpmolfile(iflist, oflist) result['Displacement RMS'] = disres.disRMS() result['Displacement Mean'] = disres.dismean() result['Displacement MAX'] = disres.dismax() self.optene = optene self.disres = disres self.result = result return result
def chkdeform(flist1, flist2): numdeformstru = 0 data = cmpmol.batchcmpmolfile(flist1, flist2) for i in range(len(data)): x = data[i] ac = x.maxanglechange() tc = x.maxtorsionchange() print flist1[i], ac[0], ac[3], tc[0], tc[3] if x.maxanglechange() >= 5.0 or x.maxtorsionchange() >= 10.0: numdeformstru += 1 return numdeformstru