def get_beads(self): """ Generates steric beads required for checking for steric clashes between motifs. Each residues has three beads modeled after the typical three bead models used in coarse grain modeling. The three beads are, Phosphate (P, OP1, OP2) Sugar (O5',C5',C4',O4',C3',O3',C1',C2',O2') and Base (All remaining atoms). """ phos_atoms,sugar_atoms,base_atoms = [],[],[] for i,a in enumerate(self.atoms): if a is None: continue if i < 3: phos_atoms.append(a) elif i < 12: sugar_atoms.append(a) else: base_atoms.append(a) beads = [] types = [residue.BeadType.PHOS, residue.BeadType.SUGAR, residue.BeadType.BASE] for i,alist in enumerate([phos_atoms,sugar_atoms,base_atoms]): if len(alist) > 0: beads.append(residue.Bead(util.center(alist), types[i])) return beads
def draw(self, view_mode=0): self.view_mode = view_mode self.drawn = 1 for r in self.residues: r.draw(view_mode) if view_mode == 2: points = [] for r in self.residues: atoms = [] for i in (0,1,2,3,4,5): if r.atoms[i] is not None: atoms.append(r.atoms[i]) center = util.center(atoms) points.append(center) self.obj = curve(radius=0.5, color=color.orange) for p in points: self.obj.append(pos=p)
center=(5, 0, 0), background=(1, 1, 1), ambient=color.gray(0.5)) """c = controls(x=0, y=0, width=250, height=250, range=60) m1 = menu(pos=(0,0,0), height=7, width=25, text='Options') bl = button(pos=(-30,30), height=30, width=40, text='Mode', action=lambda: change()) m1.items.append(('Mode', lambda: change())) # specify menu item title and action to perform""" atoms = [] s = structure.structure_from_pdb("nodes.0.pdb") atoms.extend(s.atoms()) s = structure.structure_from_pdb("nodes.1.pdb") atoms.extend(s.atoms()) v_atoms = [] center = util.center(atoms) for a in atoms: v_atoms.append(VAtom(a)) scene.center = center scene.range = np.array([20, 20, 20]) range = np.array([20, 20, 20]) points = [] lines = [] pick = None dragpos = [] while 1: rate(100) if scene.kb.keys: # event waiting to be processed?
def d(self): atoms = self._get_atoms() return util.center(atoms)
x=0, y=0, width=800, height=800, center=(5,0,0), background=(1,1,1), ambient=color.gray(0.5)) """c = controls(x=0, y=0, width=250, height=250, range=60) m1 = menu(pos=(0,0,0), height=7, width=25, text='Options') bl = button(pos=(-30,30), height=30, width=40, text='Mode', action=lambda: change()) m1.items.append(('Mode', lambda: change())) # specify menu item title and action to perform""" atoms = [] s = structure.structure_from_pdb("nodes.0.pdb") atoms.extend(s.atoms()) s = structure.structure_from_pdb("nodes.1.pdb") atoms.extend(s.atoms()) v_atoms = [] center = util.center(atoms) for a in atoms: v_atoms.append(VAtom(a)) scene.center = center scene.range = np.array([20,20,20]) range = np.array([20,20,20]) points = [] lines = [] pick = None dragpos = []