On Jun 4, 2012, at 11:54 PM, Bala subramanian wrote:
Friends,
I have written a script to draw lines between atoms (using distance monitor). I dnt want the distance label to be displayed with the pseudo bond. Kindly write me the way to remove the label. My script is below.
model=chimera.openModels.open('myavg.pdb')
res=model[0].residues
MAT=loadtxt('mymatrix',dtype=float)
chimera.runCommand('focus')
for x in range(len(res)):
for y in range(len(res)):
if x <> y :
value=MAT[x,y]
if 0.5 < value > 0.75:
b=distanceMonitor.newPseudoBond(res[x].atomsMap['CA'][0],res[y].atomsMap['CA'][0])
b.drawMode=1
b.radius=0.05
#b.label=None I tried keeping this value as None and empty string but it doesnt help.
b.color=getColorByName('red')
else: pass
else: continue
Hi Bala,
distanceMonitor pseudobonds are designed to do exactly what you find them to be doing: showing an updated distance as the model is moved. What you need to do is make a normal pseudobond group for your own use that doesn't have all the special processing that distanceMonitor provides. Here is some example code:
from chimera.misc import getPseudoBondGroup
grp = getPseudoBondGroup("matrix bonds", associateWith=[model])
...then later...
b = grp.newPseudoBond(res[x].atomsMap['CA'][0], res[y].atomsMap['CA'][0])
You will probably want to set some attributes of your group, like color and line type (dashed vs. solid). Here's some code for that:
import chimera
from chimera.colorTable import getColorByName
grp.color = getColorByName("lime green")
grp.lineType = chimera.Dash
--Eric
P.S. BTW, this question is probably better for chimera-dev than chimera-users...