<div dir="ltr">Dear Eric<div>I also observed the same and then simply added 'return area' after line number 52. This solved my problem. I am sending the modified 'measure_sasacmd.py' file.<br><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>With Warm Regards</div><div><b>Dr. Vijay H. Masand</b></div><div>Department of Chemistry,<br>Vidya Bharati College, Amravati, 444 602<br>Maharashtra, India.<br>Phone number- +91-9403312628<br><a href="https://sites.google.com/site/vijaymasand/" target="_blank">https://sites.google.com/site/vijaymasand/</a><br><br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 27, 2023 at 7:14 AM Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu">pett@cgl.ucsf.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">I see. “measure sasa” is only reporting the value in the log and not returning it to Python. I have opened a ticket in our bug-tracking database about this with you cc’ed. Hopefully it will be fixed soon.<div><br></div><div>—Eric<br><div><br><blockquote type="cite"><div>On Jan 25, 2023, at 10:22 PM, Dr. Vijay Masand via ChimeraX-users <<a href="mailto:chimerax-users@cgl.ucsf.edu" target="_blank">chimerax-users@cgl.ucsf.edu</a>> wrote:</div><br><div><div dir="ltr">Dear Eric,<div>I agree with you, but for a specific purpose, I need to know sasa for ring atoms only of a ligand. I hope I will get a pythonic way as I have to repeat the task for multiple ligands simultaneously. Thanks in advance.</div><div><br></div></div><div dir="auto"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 26 Jan, 2023, 00:30 Eric Pettersen, <<a href="mailto:pett@cgl.ucsf.edu" target="_blank">pett@cgl.ucsf.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Vijay,<div><span style="white-space:pre-wrap"> </span>Do you really mean to use 'all' as the first atom spec for "measure sasa"? If the ligand is buried in a receptor pocket, the surface will enclose the entire system and the SASA of many of the ring atoms will probably be zero. I would think you would want to use 'ligand' instead of 'all'.</div><div><br></div><div>--Eric<br><div><br><blockquote type="cite"><div>On Jan 25, 2023, at 6:48 AM, Dr. Vijay Masand via ChimeraX-users <<a href="mailto:chimerax-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">chimerax-users@cgl.ucsf.edu</a>> wrote:</div><br><div><div dir="ltr">Thank you, Eric. The above commands are very helpful.<br>Using following command, I am getting sasa for all Carbon atoms:<div><div>from chimerax.core.commands import run as rc</div><div>from chimerax.atomic import all_atoms</div><div><span style="white-space:pre-wrap"> </span>atoms = all_atoms(session)</div><div> ring_atoms = [a for a in atoms if a.rings()]<br></div><div> ringC = [a for a in ring_atoms if <a href="http://a.element.name/" rel="noreferrer" target="_blank">a.element.name</a> == "C"]</div><div> for a in ringC:</div><div> SASA = rc(session, 'measure sasa all sum %s'%a)<br></div><div> print(SASA)</div><div>But I am not getting the expected result. I am now looking for a better pythonic way to calculate sasa for ring carbon atoms of ligand only. </div><div>Thanks in advance for the help.</div><div><br></div><div><div dir="ltr"><div dir="ltr"><div>With Warm Regards</div><div><b>Dr. Vijay H. Masand</b></div><div>Department of Chemistry,<br>Vidya Bharati College, Amravati, 444 602<br>Maharashtra, India.<br>Phone number- +91-9403312628<br><a href="https://sites.google.com/site/vijaymasand/" rel="noreferrer" target="_blank">https://sites.google.com/site/vijaymasand/</a><br><br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 19, 2023 at 12:39 AM Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu" rel="noreferrer" target="_blank">pett@cgl.ucsf.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Vijay,<div><span style="white-space:pre-wrap"> </span>Atom objects have an 'element' attribute which in turn has 'name' and 'number' attributes. The 'name' attribute is actually the atomic symbol, <i>e.g.</i><span style="font-style:normal"> H for hydrogen.</span></div><div><span style="white-space:pre-wrap"> </span>You can use normal Python operations, such as 'not', to find these things, so the non-ring ligand atoms are: [a for a in ligand_atoms if not a.rings()]</div><div><br></div><div>--Eric<br><div><br><blockquote type="cite"><div>On Jan 17, 2023, at 6:26 PM, Dr. Vijay Masand via ChimeraX-users <<a href="mailto:chimerax-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">chimerax-users@cgl.ucsf.edu</a>> wrote:</div><br><div><div dir="ltr">Thank you for the details and nice solution, Eric. <div>How can I extend the above code to select ring nitrogen and oxygen atoms and to sum charges on different atoms (ring/non-ring)?<div>Thanks in advance.</div><div> <br clear="all"><div><div dir="ltr"><div dir="ltr"><div>With Warm Regards</div><div><b>Dr. Vijay H. Masand</b></div><div>Department of Chemistry,<br>Vidya Bharati College, Amravati, 444 602<br>Maharashtra, India.<br>Phone number- +91-9403312628<br><a href="https://sites.google.com/site/vijaymasand/" rel="noreferrer" target="_blank">https://sites.google.com/site/vijaymasand/</a><br><br></div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 18, 2023 at 1:36 AM Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu" rel="noreferrer" target="_blank">pett@cgl.ucsf.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Vijay,<div><span style="white-space:pre-wrap"> </span>I don't know exactly how efficient you need things to be, but here is some info...</div><div><br></div><div><i>Get all atoms</i><span style="font-style:normal">:</span></div><div><span style="white-space:pre-wrap"> </span>from chimerax.atomic import all_atoms</div><div><span style="white-space:pre-wrap"> </span>atoms = all_atoms(session)</div><div><br></div><div><i>Filter down to just ligand atoms</i><span style="font-style:normal">:</span></div><div><span style="white-space:pre-wrap"> </span>ligand_atoms = atoms.filter(atoms.structure_categories == "ligand")</div><div><br></div><div><i>Ligand ring atoms</i><span style="font-style:normal">:</span></div><div><span style="white-space:pre-wrap"> </span>ring_atoms = [a for a in ligand_atoms if a.rings()]</div><div><br></div><div><i>Assign charges to ligand residues</i><span style="font-style:normal">:</span></div><div><span style="white-space:pre-wrap"> </span>from chimerax.add_charge import add_charges</div><div><span style="white-space:pre-wrap"> </span>add_charges(session, ligand_atoms.unique_residues)</div><div><br></div><div><i>Sum the charges</i><span style="font-style:normal">:</span></div><div><span style="white-space:pre-wrap"> </span>charge_sum = sum([a.charge for a in ligand_atoms])</div><div><br></div><div><span style="white-space:pre-wrap"> </span>This all assumes the structure has hydrogens. In particular, the charge sum will be massively negative if hydrogens are missing! Some of the calls above are covered in the ChimeraX programmer's guide (<a href="https://www.rbvi.ucsf.edu/chimerax/docs/devel/index.html" rel="noreferrer" target="_blank">https://www.rbvi.ucsf.edu/chimerax/docs/devel/index.html</a>, also included in the app under Help), particularly the "API Reference" link.</div><div><span style="white-space:pre-wrap"> </span>When you said "select ring atoms" I don't know if you meant just find them (which the above does) or actually select them in the graphics window. This would do that:</div><div><br></div><div><span style="white-space:pre-wrap"> </span>session.selection.clear()</div><div><span style="white-space:pre-wrap"> </span>for a in ring_atoms:</div><div><span style="white-space:pre-wrap"> </span>a.selected = True</div><div><br></div><div><div>--Eric</div><div><br></div><div><span style="white-space:pre-wrap"> </span>Eric Pettersen</div><div><span style="white-space:pre-wrap"> </span>UCSF Computer Graphics Lab</div></div><div><br><div><br><blockquote type="cite"><div>On Jan 16, 2023, at 11:03 PM, Dr. Vijay Masand via ChimeraX-users <<a href="mailto:chimerax-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">chimerax-users@cgl.ucsf.edu</a>> wrote:</div><br><div><div dir="ltr"><div dir="ltr">Dear all<div>I am looking for an efficient method to select ring atoms of ligands using python in chimeraX. Also, is there any python code/method to get the sum of charges on ligand atoms only?</div><div>Thanks in advance.</div><div>From</div><div>Vijay</div><div><br clear="all"><div><div dir="ltr"><div dir="ltr"><div>With Warm Regards</div><div><b>Dr. Vijay H. Masand</b></div><div>Department of Chemistry,<br>Vidya Bharati College, Amravati, 444 602<br>Maharashtra, India.<br>Phone number- +91-9403312628<br><a href="https://sites.google.com/site/vijaymasand/" rel="noreferrer" target="_blank">https://sites.google.com/site/vijaymasand/</a><br><br></div></div></div></div></div></div></div>
_______________________________________________<br>ChimeraX-users mailing list<br><a href="mailto:ChimeraX-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">ChimeraX-users@cgl.ucsf.edu</a><br>Manage subscription:<br><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" rel="noreferrer" target="_blank">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br></div></blockquote></div><br></div></div></blockquote></div>
_______________________________________________<br>ChimeraX-users mailing list<br><a href="mailto:ChimeraX-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">ChimeraX-users@cgl.ucsf.edu</a><br>Manage subscription:<br><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" rel="noreferrer" target="_blank">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br></div></blockquote></div><br></div></div></blockquote></div>
_______________________________________________<br>ChimeraX-users mailing list<br><a href="mailto:ChimeraX-users@cgl.ucsf.edu" rel="noreferrer" target="_blank">ChimeraX-users@cgl.ucsf.edu</a><br>Manage subscription:<br><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" rel="noreferrer" target="_blank">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br></div></blockquote></div><br></div></div></blockquote></div>
_______________________________________________<br>ChimeraX-users mailing list<br><a href="mailto:ChimeraX-users@cgl.ucsf.edu" target="_blank">ChimeraX-users@cgl.ucsf.edu</a><br>Manage subscription:<br><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" target="_blank">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br></div></blockquote></div><br></div></div></blockquote></div>