[Chimera-users] Problem in using BondRot

Eric Pettersen pett at cgl.ucsf.edu
Tue Feb 11 17:12:53 PST 2014


I guess I didn't completely answer your question.  If you want strict control over which side of the phi/psi moves, then you are going to have to set up the bond rotation yourself rather than use res.phi/res/psi.  You do this by finding the bond you want to rotate and then using the BondRotMgr module:

from BondRotMgr import bondRotMgr
rot = bondRotMgr.rotationForBond(bond)
rot.anchorSide = anchor_atom

then you'll have to measure the current phi/psi (which you could get via res.phi/res.psi) and use:

rot.increment(angle_diff)

to get to the desired value.  When you are completely done adjusting the bond rotation, call:

rot.destroy()

--Eric

On Feb 11, 2014, at 4:57 PM, Eric Pettersen <pett at cgl.ucsf.edu> wrote:

> Hi Amin,
> 	I'm not sure why you care which side moves, but by default the "smaller" side moves.  So if the residue is near the N terminus then the N-terminal part will move, if it's near the C terminus then the C-terminal side will move.  Unless these changes are relative to some other structure, it shouldn't matter which side "moves"; the resulting conformation is the same either way.
> 
> --Eric
> 
>                         Eric Pettersen
>                         UCSF Computer Graphics Lab
>                         http://www.cgl.ucsf.edu
> 
> 
> On Feb 8, 2014, at 8:33 PM, amin wrote:
> 
>> Dear Dr. Pettersen and Dr. Meng,
>> 
>> Thanks for the suggestion. I tried the simpler scripts and they work. But I am not sure that what atoms are moved when I set res.phi = -res.phi. The earlier script had set anchor residues to solve this problem. Can you please guide me on how to use anchor residues on newer versions of chimera?
>> 
>> Warm Regards.
>> 
>> Amin.
>> 
>>  
>> On 2014-02-09 07:44, Eric Pettersen wrote:
>> 
>>> Hi Amin,
>>>  As Elaine alluded to, the code for changing phi/psi is a lot simpler than what was necessary in 2005.  In particular you can just assign a value to the phi or psi attribute to change it.  Therefore in your script, the loop would just be:
>>>  
>>> for res in mol.residues:
>>>  if res.phi is not None:
>>>  res.phi = -res.phi
>>>  
>>> --Eric
>>>  
>>>  Eric Pettersen
>>>  UCSF Computer Graphics Lab
>>> 
>>> On Feb 8, 2014, at 11:03 AM, amin at imtech.res.in wrote:
>>> 
>>>> Dear Chimera users,
>>>> 
>>>> I am trying to write a script to change the phi and psi angle of a peptide. I am trying to adapt the code from http://plato.cgl.ucsf.edu/pipermail/chimera-users/2005-September/000456.html . I am trying to invert the angles so I am multiplying the angles by -1. My code is 
>>>> 
>>>> import chimera
>>>> 
>>>> from chimera import selection, UserError, BondRot, replyobj
>>>> 
>>>> opened = chimera.openModels.open('fun.pdb')
>>>> mol = opened[0]
>>>> RES_LIST = mol.residues
>>>> for res in mol.residues:
>>>>       b = str(res.phi)
>>>>       if b != 'None':
>>>>            c = -1*float(b) 
>>>>            atomsMap = res.atomsMap
>>>>            N = atomsMap['N'][0]
>>>>            CA = atomsMap['CA'][0]
>>>>            C = atomsMap['C'][0]
>>>>            CAmap = CA.bondsMap
>>>>            phiBond = CAmap[N]
>>>>            psiBond = CAmap[C]
>>>>            phiAnchor = N
>>>>            psiAnchor = CA
>>>>            phi = BondRot(phiBond)
>>>>            phi.setAngle(c, phiAnchor)
>>>> 
>>>> When I run this script i get the error 
>>>> 
>>>> phi.setAngle(c, phiAnchor)
>>>> AttributeError: '_molecule.BondRot' object has no attribute 'setAngle'
>>>> 
>>>>  
>>>> Can someone please help me with this?
>>>> 
>>>> Warm regards.
>>>> 
>>>> Amin.
>>>> 
>>>>  
>>>> _______________________________________________
>>>> Chimera-users mailing list
>>>> Chimera-users at cgl.ucsf.edu
>>>> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>>  
>>  
> 
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20140211/fc9eae7f/attachment.html>


More information about the Chimera-users mailing list