[chimera-dev] 1.2199 and BILD
Eric Pettersen
pett at cgl.ucsf.edu
Tue Feb 28 10:32:18 PST 2006
On Feb 28, 2006, at 9:28 AM, Thomas Goddard wrote:
> The PDB file reader is implemented in C++ and I believe there is no
> Python interface to read from a string. The C++ code can read from a
> C++ stream (which could be a string stream), but there does not appear
> to be a Python interface. I'd suggest requesting this feature in an
> email to chimera-bugs at cgl.ucsf.edu (also used for new feature
> requests).
I second Tom's idea of requesting the feature via chimera-bugs.
It would seem that you have the molecular data of interest internal
to your extension rather than in an external file. What you can do
is construct a Molecule directly rather than via a PDB file. Here's
example code that constructs a model of a single water molecule:
---
import chimera
H = chimera.Element("H")
O = chimera.Element("O")
m = chimera.Molecule()
m.name = "my water" # used by the Model Panel
r = m.newResidue("HOH", "water", 1, "") # name, chain, position,
insertion code
o = m.newAtom("O", O) # name, element
h1 = m.newAtom("H1", H)
h2 = m.newAtom("H2", H)
for a in [o, h1, h2]:
r.addAtom(a)
o.setCoord(chimera.Point(35.713, 15.029, 104.298))
h1.setCoord(chimera.Point(36.2803, 15.2855, 105.025))
h2.setCoord(chimera.Point(34.848, 15.4221, 104.414))
m.newBond(o, h1)
m.newBond(o, h2)
chimera.openModels.add([m])
---
If you didn't want to have to explicitly specify connectivity, you
could call "chimera.connectMolecule(m)" in place of the newBond()
calls, which would have Chimera add bonds based on distance.
--Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20060228/bf652ffd/attachment.html>
More information about the Chimera-dev
mailing list