Hi!
I think I might have uploaded the wrong mol2, so I just run the test again to make sure.
This is the code I run in IDLE after opening the mol2 with Chimera.
from cStringIO import StringIO
m = chimera.openModels.list()
mem = StringIO()
chimera.pdbWrite(m, m[0].openState.xform, mem)
And the outputs are attached.
I then opened the PDB and superimposed the two models with "mm #0 #1". If you display all the side chains, you will see that the ARG 41 residue is messed up (quick screenshot attached too).
Thanks!
On Dec 1, 2015, at 9:11 AM, Jaime Rodríguez-Guerra Pedregal <Jaime.RodriguezGuerra@uab.cat> wrote:
<streptavidin.mol2><streptavidin.pdb><pdbwritebug.py.zip>_______________________________________________Hi again!
So in my quest to use OpenMM from Chimera, my first proof-of-concept attempts consist of using a PDB file as intermediate to convert chimera.Molecule objects to OpenMM Topologies (using openmm.app.PDBFile loader).
While not ideal yet, it'd be convenient to use StringIO() as a memory file, and I have been more or less successful. This is my strategy:
memfile = StringIO()m = chimera.openModels.list()chimera.pdbWrite(m, m[0].openState.xform, memfile)memfile.seek(0)# pass memfile to openmm.app.PDBFile and do OpenMM stuffmemfile.close()
It works, but some residues are not properly recognised... I dumped the converted PDB to an actual file and saw that the problematic residue (an ARG) is totally messed up! I've attached the results: original file is the mol2, the converted one is the pdb, and also a Chimera session with both superimposed.
What's the recommended method to convert a chimera.Molecule to a PDB file (if possible, in-memory) with Chimera Python API?
Thanks a lot!
Chimera-users mailing list
Chimera-users@cgl.ucsf.edu
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users