hi Thomas,
I’m pretty sure this would have to be a Python script.  The general idea would be to select residues within a certain distance of the ligand, systematically change their names to indicate alternative protonation states, delete all protons and then run AddH and write out PDBs.  Since you have an indeterminate number of loops needed, I would use recursion, so something like:

pdb_num = 1
from chimera import runCommand as rc
rc(“sel ligands z<DIST”)
from chimera.selection import currentResidues
residues = currentResidues()

def change_protonation(remaining_residues):
if not remaining_residues:
global pdb_num
rc(“del H”)
rc(“addh”)
rc(“write %d.pdb” % pdb_num)
pdb_num += 1
return
r = remaining_residues[0]
if r.type == “GLU”:
states = [“GLU”, “GLH”]
elif r.type == “ASP”:
states = [“ASP”, “ASH”]
elif r.type == “HIS”:
etc….

else:
states = [r.type]
for state in states:
r.type = state
change_protonation(remaining_residues[1:])

change_protonation(residues)

The script is incomplete and I haven’t tested it, but you get the idea.

—Eric

Eric Pettersen
UCSF Computer Graphics Lab




On Mar 19, 2019, at 7:59 AM, Thomas Evangelidis <tevang3@gmail.com> wrote:

Greetings,

I want to write a script that will read a protein-ligand complex, will find all residues with alternative protonation states within a radius from the ligand, and will write to separate pdb files all combinations of alternative protonations or the protein's binding site. Is this possible in Chimera? I saw at the documentation of addh command that there is not a way to specify explicitly which residues to protonate and how (e.g. I can protonate all ASP to ASH but not ASP34 to ASH34 and keep ASP52 as it is).

Thanks in advance.
Thomas 

--

======================================================================

Dr Thomas Evangelidis

Research Scientist

IOCB - Institute of Organic Chemistry and Biochemistry of the Czech Academy of Sciences

Prague, Czech Republic
  & 
CEITEC - Central European Institute of Technology
Brno, Czech Republic 

_______________________________________________
Chimera-users mailing list: Chimera-users@cgl.ucsf.edu
Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users