def ssm_fit(aRefMol, aRefSel, aMovMol, aMovSel): mgr = cuemol.getService("MolAnlManager"); refMol = cuemol.obj(aRefMol) refSel = cuemol.sel(aRefSel, refMol.getScene()) movMol = cuemol.obj(aMovMol) movSel = cuemol.sel(aMovSel, movMol.getScene()) mgr.superposeSSM1(refMol, refSel, movMol, movSel, False);
def create_default_paint_coloring(): rval = cm.createObj("PaintColoring") rval.append(cm.sel("sheet"), cm.col("SteelBlue")) rval.append(cm.sel("helix"), cm.col("khaki")) rval.append(cm.sel("nucleic"), cm.col("yellow")) rval.append(cm.sel("*"), cm.col("FloralWhite")) return rval
def calc_rmsd(aRefMol, aRefSel, aMovMol, aMovSel): mgr = cuemol.getService("MolAnlManager") refMol = cuemol.obj(aRefMol) refSel = cuemol.sel(aRefSel, refMol.getScene()) movMol = cuemol.obj(aMovMol) movSel = cuemol.sel(aMovSel, movMol.getScene()) rmsd = mgr.calcRMSD(refMol, refSel, movMol, movSel, "") return rmsd
def rotateZ(aMol, aCen, aDeg, aSel=None): sel=aSel if sel is None: sel = cuemol.sel("*") else: sel = cuemol.sel(aSel) mat = cuemol.createObj("Matrix") mat.setRotate(aCen, cuemol.vec(0,0,1), aDeg) aMol.xformByMat(mat, sel)
def shift(aMol, aShift, aSel=None, aNotify=True): sel = aSel if sel is None: sel = cuemol.sel("*") else: sel = cuemol.sel(aSel) mat = cuemol.createObj("Matrix") mat.setTranslate(aShift) aMol.xformByMat(mat, sel) if aNotify: aMol.fireAtomsMoved()
def rotate(aMol, aCen, aAxis, aDeg, aSel=None, aNotify=True): sel = aSel if sel is None: sel = cuemol.sel("*") else: sel = cuemol.sel(aSel) mat = cuemol.createObj("Matrix") mat.setRotate(aCen, aAxis, aDeg) aMol.xformByMat(mat, sel) if aNotify: aMol.fireAtomsMoved()
def merge(aToMol, aFromMol, aFromSel, aCopy=False): mgr = cuemol.getService("MolAnlManager"); toMol = cuemol.obj(aToMol) fromMol = cuemol.obj(aFromMol) fromSel = cuemol.sel(aFromSel, fromMol.getScene()) mgr.copyAtoms(toMol, fromMol, fromSel); if not aCopy: mgr.deleteAtoms(fromMol, fromSel);
def __init__(self, aMol, aSel): molObj = cuemol.obj(aMol) selObj = cuemol.sel(aSel, molObj.scene_uid) self.mIter = cuemol.createObj("ResidIterator"); self.mIter.target = molObj; self.mIter.sel = selObj; self.mIter.first()
def __init__(self, aMol, aSel="*"): molObj = cuemol.obj(aMol) #uid = molObj.uid selObj = cuemol.sel(aSel, molObj.scene_uid) self.mIter = cuemol.createObj("AtomIterator") self.mIter.target = molObj self.mIter.sel = selObj self.mIter.first()
def forEachResid(aMol, aSel, aFn): molObj = cuemol.obj(aMol) selObj = cuemol.sel(aSel, molObj.scene_uid) iter = cuemol.createObj("ResidIterator"); iter.target = molObj; iter.sel = selObj; iter.first() while True: if not iter.hasMore(): break resid = iter.get() if aFn(resid): break iter.next()
def setupDefaultRenderer(obj): """ Setup default renderer for object loaded by CUI's load() function """ rend = None scene = obj.getScene() ## EDIT TXN START ## with cm.UndoTxn("Create default renderer", scene): rend = obj.createRenderer("simple") rend.applyStyles("DefaultCPKColoring") rend.name = "simple1" rend.sel = cm.sel("*") print("active view ID="+str(scene.activeViewID)) view = cm.view(scene) if view is None: print("setupDefault renderer: view is null, cannot recenter") else: pos = rend.getCenter() view.setViewCenter(pos) ## EDIT TXN END ## return rend
def chg_chain(aFromMol, aFromSel, aNewChName): mgr = cuemol.getService("MolAnlManager"); fromMol = cuemol.obj(aFromMol) fromSel = cuemol.sel(aFromSel, fromMol.getScene()) mgr.changeChainName(fromMol, fromSel, aNewChName);
def del_atoms(aMol, aSel): mgr = cuemol.getService("MolAnlManager"); mol = cuemol.obj(aMol) sel = cuemol.sel(aSel, mol.getScene()) mgr.deleteAtoms(mol, sel);