Hi David,

  Maybe your structure has ligands, ions, or solvent atoms -- no surface is computed for those and so they don't get an areaSES attribute.  You could put in a check

if hasattr(r, 'areaSES'):
  r.relSESA = r.areaSES/ r.areaSESgxg
else:
  print 'Residue has no areaSES', r, 'type', r.type

You might be interested instead using our newer program ChimeraX.  Chimera often fails to compute molecular surfaces and SES areas for large structures.  ChimeraX uses new code that always works.

  Tom


On Feb 25, 2021, at 5:53 AM, David Leeming <david.leeming@student.manchester.ac.uk> wrote:

Dear Chimera users, 
I'm attempting to write a chimera script to automate the process of calculating the relative exposure of residues as per this tutorial: https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/surfnorm.html 

The script I have is as follows: 
rc('surface'#   defines areaSES of residues 
rc('defattr C:/Users/Admin/Downloads/areaSESgxg.txt log 0'# define attribute using areaSESgxg.txt
for m in chimera.openModels.list(modelTypes=[chimera.Molecule]):
    for r in m.residues:
        r.relSESA = r.areaSES/ r.areaSESgxg

However, when I run this script, I am receiving this error: 
<Outlook-1he3xhiv.png>
When I run the process using the UI I can successfully calculate relSESA
By using the command: "surface" 
Then using the assign attribute function to assign areaSESgxg.txt
Followed by using the calculate attribute function to calculate per residue: residue.areaSES/ residue.areaSESgxg

Could you advise on any methods I could use to fix this script to produce the output I am receiving from the UI.  

Kind regards, 
David
_______________________________________________
Chimera-users mailing list: Chimera-users@cgl.ucsf.edu
Manage subscription: https://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users