[Chimera-users] command line mode
Eric Pettersen
pett at cgl.ucsf.edu
Tue Feb 26 12:46:09 PST 2008
Hi Snoze,
In the Python language, indentation is significant. It seems you
didn't preserve the indentation levels when you copied what I sent.
In particular, I'm guessing that line 6 ("residues = m.residues") and
all following lines lack indentation. I have _attached_ a copy of
the script so that when you use it the indentation will be correct.
--Eric
On Feb 26, 2008, at 12:24 PM, snoze pa wrote:
> 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/_
> _main__.py", line 59, in ?
> value = chimeraInit.init(sys.argv)
> File "CHIMERA/share/chimeraInit.py", line 350, in init
> chimera.openModels.open(a, prefixableType=1)
> File "CHIMERA/share/chimera/__init__.py", line 1378, in open
> File "CHIMERA/share/chimera/__init__.py", line 865, in _openPython
> IndentationError: expected an indented block (script.py, line 6)
> Error while processing script.py:
> IndentationError: expected an indented block (script.py, line 6)
> (see reply log for Python traceback info)
>
>
> On Mon, Feb 4, 2008 at 4:00 PM, Eric Pettersen <pett at cgl.ucsf.edu>
> wrote:
> 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, Molecule
> from AddCharge import addNonstandardResCharges,
> estimateFormalCharge, ChargeError
> mols = openModels.list(modelTypes=[Molecule])
> log = open("errlog", "w")
> for m in mols:
> residues = m.residues
> atoms = [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 writeMol2
> writeMol2(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.py
>
> will 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.
>
> --Eric
>
> Eric Pettersen
> UCSF Computer Graphics Lab
> http://www.cgl.ucsf.edu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20080226/b0b26cd1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: addCharges.py
Type: text/x-python-script
Size: 563 bytes
Desc: not available
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20080226/b0b26cd1/attachment.bin>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20080226/b0b26cd1/attachment-0001.html>
More information about the Chimera-users
mailing list