Hi Eric,
The scripts is not working.. It is giving me following error message. Is it possible to call the minimization step inside the script so that i can use the bcc charges?
Thanks a lot for your help.
chimera --nogui x.mol2 script.py
Sorry: IndentationError: ('expected
an indented block', ('script.py', 6, 8, 'residues =
m.residues\n'))Opening x.mol2...Compiling script.py...Compiling
script.py succeededExecuting script.py...
Traceback (most recent call last):
File "/usr/local/chimera/share/_
Hi Snoze,I'm going to guess, like Elaine, that your purpose is to add partial charges. If your 1000 compounds are in one big mol2 file, here is a script that would do the job:from chimera import openModels, Moleculefrom AddCharge import addNonstandardResCharges, estimateFormalCharge, ChargeErrormols = openModels.list(modelTypes=[Molecule])log = open("errlog", "w")for m in mols:residues = m.residuesatoms = [a for r in residues for a in r.atoms]fc = estimateFormalCharge(atoms)try:addNonstandardResCharges(m.residues, fc)except ChargeError:print>>log, "Charge estimate (%d) or protonation wrong for %s (%s)" % (fc, m.name, m.oslIdent())from WriteMol2 import writeMol2writeMol2(mols, "output.mol2")log.close()If you save the above in a file named script.py and your 1000 compounds are in a file named input.mol2, then running:chimera --nogui input.mol2 script.pywill produce a file named output.mol2 with the charges included. Any problems it had charging particular compounds will be saved in a file named errlog.--EricEric Pettersen
UCSF Computer Graphics Lab
On Feb 1, 2008, at 10:36 AM, Elaine Meng wrote: