From: Dawid Jagiela Date: Tue, 5 Mar 2013 11:32:20 +0000 (+0100) Subject: added glicyne support in show_UNRES.py X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=commitdiff_plain;h=00b59846d560c998fc58555ad182b5566a32294a added glicyne support in show_UNRES.py --- diff --git a/source/pymol/show_UNRES.py b/source/pymol/show_UNRES.py index 673a269..179e1af 100644 --- a/source/pymol/show_UNRES.py +++ b/source/pymol/show_UNRES.py @@ -27,7 +27,7 @@ def show_UNRES(sl='(all)'): p_radius = 0.6 e_size = 1.0 # residue dictionary - # resn = [color_Red, color_Green, color_Blue, elipsoid_side_width ] + # resn = [color_Red, color_Green, color_Blue, ellipsoid_width, ellipsoid_length ] resdb = { 'CYS': [1.000, 1.000, 0.000, 1.33741, 2.96868], 'MET': [0.000, 1.000, 0.000, 1.36694, 3.08863], 'PHE': [0.000, 0.392, 0.000, 1.48323, 3.04238], @@ -76,26 +76,36 @@ def show_UNRES(sl='(all)'): for i in range(0,len(e)): # vactor CB->CA tmp0=[e[i][4], e[i][5], e[i][6]] - l=cpv.length(tmp0) + #l=cpv.length(tmp0) # random vector tmp1 = cpv.random_vector() # orthogonal vector to tmp0 and tmp1 tmp2 = cpv.cross_product(tmp1, tmp0) tmp3 = cpv.cross_product(tmp0, tmp2) + tmp0 = cpv.normalize(tmp0) tmp2 = cpv.normalize(tmp2) tmp3 = cpv.normalize(tmp3) + tmp0 = cpv.scale(tmp0,resdb[e[i][0]][4]) tmp2 = cpv.scale(tmp2,resdb[e[i][0]][3]) tmp3 = cpv.scale(tmp3,resdb[e[i][0]][3]) factor = 1.0 / max( cpv.length(tmp0), cpv.length(tmp2), cpv.length(tmp3)) tmp0 = cpv.scale(tmp0, factor) tmp2 = cpv.scale(tmp2, factor) tmp3 = cpv.scale(tmp3, factor) - - #print factor, cpv.length(tmp0), cpv.length(tmp2), cpv.length(tmp3) obj.extend( [ COLOR, resdb[e[i][0]][0], resdb[e[i][0]][1], resdb[e[i][0]][2] ] ) - #obj.extend( [ NORMAL, 1, 0, 0 ] ) obj.extend( [ ELLIPSOID, e[i][1], e[i][2], e[i][3], 1.0/factor, ] + tmp0 + tmp2 + tmp3 ) + # Get Glicynes positions + atoms=cmd.get_model(sl+' & n. CA & resn GLY').atom + g=[] + for i in range(0,len(atoms)): + g.append( [ atoms[i].resn, atoms[i].coord[0], atoms[i].coord[1], atoms[i].coord[2] ]) + # Draw the glicyne spheres + for i in range(0, len(g)): + obj.extend( [ COLOR, resdb[g[i][0]][0], resdb[g[i][0]][1], resdb[g[i][0]][2] ] ) + obj.extend( [ SPHERE, g[i][1], g[i][2], g[i][3], resdb[g[i][0]][3]]) + + cmd.set('cgo_ellipsoid_quality', 2) cmd.load_cgo(obj,'UNRES_'+sl)