I guess there’s something I don’t understand:  are you saying that the mol2 file is what you read into Chimera to start with?  That makes no sense to me because there are residues in the PDB file (IR3, 4IR) that don’t exist in the mol2 file!  Where did they come from?

—Eric

Eric Pettersen
UCSF Computer Graphics Lab

On Dec 1, 2015, at 9:11 AM, Jaime Rodríguez-Guerra Pedregal <Jaime.RodriguezGuerra@uab.cat> wrote:

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 stuff
memfile.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!
<streptavidin.mol2><streptavidin.pdb><pdbwritebug.py.zip>_______________________________________________
Chimera-users mailing list
Chimera-users@cgl.ucsf.edu
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users