[chimera-dev] AIMAll extension update 1

ros rodrigogalindo at gmail.com
Fri Jan 9 09:18:00 PST 2015


Hello Eric! Thank you for your reply.  I have been trying to add the
color and radius properties in my code but it seems that it gets
overwritten because I do not see any changes when I open the molecule.

With this code:

        ###################################################################
        ## Critical points
        idNACP = 1
        mNACP = Molecule()
        rNACP = mNACP.newResidue("Nuclear atractors critical points",
" ", 1, " ")

        idBCP = 1
        mBCP = Molecule()
        rBCP = mBCP.newResidue("Bond critical points", " ", 1, " ")

        cpnumber = 1
        cpread = 0
getcriticalpoints = osOpen(fileName)
        for text in getcriticalpoints:
                text = text.strip()
                if cpread == 0:
                        if text.startswith("CP#"):
                                readtext = text
                                cpread = 1
                elif cpread == 1:
                        if text.startswith("Type = (3,-3)"):
                                a,b,signature,type,atom1 = text.split()
                                cpnum,id,a,b,x,y,z = readtext.split()
                                x, y, z = [float(c) for c in [x,y,z]]
                                atomNACP = mNACP.newAtom(atom1, Element("He"))
                                atomNACP.color = chimera.MaterialColor(1,0,0,1)
                                rNACP.addAtom(atomNACP)
                                atomNACP.setCoord(Coord((x*0.52918),
(y*0.52918), (z*0.52918)))
                                cpread = 0
                        elif text.startswith("Type = (3,+3)"):
                                print 'CCP'
                                cpread = 0
                        elif text.startswith("Type = (3,+1)"):
                                print 'RCP'
                                cpread = 0
                        elif text.startswith("Type = (3,-1)"):
                                a,b,signature,type,atom1,atom2 = text.split()
                                cpnum,id,a,b,x,y,z = readtext.split()
                                x, y, z = [float(c) for c in [x,y,z]]
                                atomBCP = mBCP.newAtom("%s%s" %
("BCP", id), Element("He"))
                                atomBCP.setCoord(Coord((x*0.52918),
(y*0.52918), (z*0.52918)))
                                rBCP.addAtom(atomBCP)
                                cpnumber += 1
                                cpread = 0

        mNACP.isRealMolecule = False
        mBCP.isRealMolecule = False

        ###################################################################

I get an:
NameError: global name 'chimera' is not defined

  File "/home/ros/work2/chimera-plugin/ReadAimall/__init__.py", line
54, in readAimall
    a.color = chimera.MaterialColor(1,0,0,1)

See reply log for Python traceback.

I tried adding:
import chimera or add MaterialColor in:

;;;from chimera import Coord, connectMolecule, MaterialColor

at the start of the code and it stills shows the default color for
Helium atoms (which I am using as dummyatoms)

Same thing happens with the a.radius command.

Am I having the command overwritten somewhere?  Thank you for your help.

Rodrigo.

On Thu, Jan 8, 2015 at 5:19 PM, Eric Pettersen <pett at cgl.ucsf.edu> wrote:
> On Jan 8, 2015, at 10:46 AM, ros <rodrigogalindo at gmail.com> wrote:
>
> Hello!
> I have been making progress with the extension.  Now you can open the
> mgpviz file and the atoms will be displayed properly with their
> corresponding bonds in #0.1, the nuclear atractors in #0.2 and the
> bond critical bonds in #0.3  It works great!!
>
> I am adding Helium atoms to represent the critical points:
>
> atomNACP = mNACP.newAtom(atom1, Element("He")
>
> and it works fine.
> Is there a way to modify the color and size of each individual atom
> while it is reading the input? Is it possible to modify the default
> properties generated from the connectMolecule() ?  The idea is that it
> displays the original molecule (extracted from the XYZ coordinates) in
> wire representation, and the bond critical points in red (as an
> example) and the other critical points in blue.  Each point group are
> generated in their own separate molecule with different Molecule()
> commands, so, is it possible to modify the visualization properties?
>
>
> Yes:
>
> a.color = chimera.MaterialColor(red, green, blue, opacity)
> a.radius = radius
>
> red / green / blue / opacity all in the range 0-1.
>
> To change to ball and stick, you would set the atoms to balls as you make
> them:
>
> a.drawMode = chimera.Atom.Ball
>
> and change all the bonds after you've called connectMolecule():
>
> for b in m.bonds:
> b.drawMode = chimera.Bond.Stick
>
> --Eric
>
>



More information about the Chimera-dev mailing list