roll_helix.py

Shows how to modify the internal coordinate system of a protein. The backtone torsion angles are all set to PHI=-60, PSI=-45; the protein is thus folded into a very long alpha helix.

import math

e=io.LoadEntity('../entity/sdh.pdb')
c=e.FindChain('A')

edi=e.RequestICSEditor(mol.EditMode.BUFFERED_EDIT)
for r in c.GetResidueList():
  phi=r.GetPhiTorsion()
  psi=r.GetPsiTorsion()
  if phi.IsValid(): 
    edi.SetTorsionAngle(phi, math.radians(-60))    
  if psi.IsValid(): 
    edi.SetTorsionAngle(psi, math.radians(-45))    
  
edi.UpdateXCS()

for r in c.GetResidueList():
  phi=r.GetPhiTorsion()
  psi=r.GetPsiTorsion()
  if phi.IsValid(): 
    print 'PHI %3.0f' % math.degrees(phi.GetAngle())
  if psi.IsValid(): 
    print 'PSI %3.0f'  % math.degrees(psi.GetAngle())

g=gfx.Entity('helix', e.Select('aname=CA,N,O,C,CB'))
#g=gfx.Entity('helix', e)
scene.Add(g)
scene.SetCenter(g.GetCenter())




Generated on Fri Jul 2 14:22:57 2010 for OpenStructure by  doxygen 1.5.8