<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi!</p>
<p><br>
</p>
<p>I think I might have uploaded the wrong mol2, so I just run the test again to make sure.</p>
<p><br>
</p>
<p>This is the code I run in IDLE after opening the mol2 with Chimera.</p>
<p><br>
</p>
<p>from cStringIO import StringIO<br>
</p>
<p>m = chimera.openModels.list()<br>
</p>
<p>mem = StringIO()<br>
</p>
<p>chimera.pdbWrite(m, m[0].openState.xform, mem)<br>
</p>
<p></p>
<div>with open('converted.pdb', 'w') as f:</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>f.write(mem.getvalue())</div>
<br>
<p></p>
<p>And the outputs are attached.</p>
<p><br>
</p>
<p>I then opened the PDB and&nbsp;superimposed the two models with &quot;mm #0 #1&quot;. If you display all the side chains, you will see that the ARG 41 residue is messed up (quick screenshot attached too).</p>
<p><br>
</p>
<p>Thanks!</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De:</b> Eric Pettersen &lt;pett@cgl.ucsf.edu&gt;<br>
<b>Enviado:</b> miércoles, 2 de diciembre de 2015 0:00<br>
<b>Para:</b> Jaime Rodríguez-Guerra Pedregal<br>
<b>Cc:</b> chimera-users@cgl.ucsf.edu<br>
<b>Asunto:</b> Re: [Chimera-users] Write a PDB with Python API</font>
<div>&nbsp;</div>
</div>
<div>I guess there&#8217;s something I don&#8217;t understand: &nbsp;are you saying that the mol2 file is what you read into Chimera to start with? &nbsp;That makes no sense to me because there are residues in the PDB file (IR3, 4IR) that don&#8217;t exist in the mol2 file! &nbsp;Where did
 they come from?
<div class=""><br class="">
</div>
<div class="">&#8212;Eric</div>
<div class=""><br class="">
<div class="">
<div class="" style="color:rgb(0,0,0); letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>Eric Pettersen</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>UCSF Computer Graphics Lab</div>
<div class=""><br class="">
</div>
</div>
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Dec 1, 2015, at 9:11 AM, Jaime Rodríguez-Guerra Pedregal &lt;<a href="mailto:Jaime.RodriguezGuerra@uab.cat" class="">Jaime.RodriguezGuerra@uab.cat</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div id="divtagdefaultwrapper" class="" style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; font-size:12pt; background-color:rgb(255,255,255); font-family:Calibri,Arial,Helvetica,sans-serif">
<div class="" style="margin-top:0px; margin-bottom:0px">Hi again!</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">So in my quest to use OpenMM from Chimera, my first proof-of-concept attempts consist of&nbsp;using a PDB file as intermediate to convert chimera.Molecule objects to OpenMM Topologies (using openmm.app.PDBFile
 loader).&nbsp;</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">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:</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">memfile = StringIO()</div>
<div class="" style="margin-top:0px; margin-bottom:0px">m = chimera.openModels.list()</div>
<div class="" style="margin-top:0px; margin-bottom:0px">chimera.pdbWrite(m, m[0].openState.xform, memfile)</div>
<div class="" style="margin-top:0px; margin-bottom:0px">memfile.seek(0)</div>
<div class="" style="margin-top:0px; margin-bottom:0px"># pass memfile to openmm.app.PDBFile and do OpenMM stuff</div>
<div class="" style="margin-top:0px; margin-bottom:0px">memfile.close()</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">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.</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">What's the recommended method to convert a chimera.Molecule to a PDB file (if possible, in-memory) with Chimera Python API?</div>
<div class="" style="margin-top:0px; margin-bottom:0px"><br class="">
</div>
<div class="" style="margin-top:0px; margin-bottom:0px">Thanks a lot!</div>
</div>
<span id="cid:F216D220-45A4-4F1D-96D9-65FC3DD68637@cgl.ucsf.edu">&lt;streptavidin.mol2&gt;</span><span id="cid:F3C6F024-3F55-418B-8BF8-4C0BE74CC332@cgl.ucsf.edu">&lt;streptavidin.pdb&gt;</span><span id="cid:00BD2253-8E28-42E0-B4BD-3BADD2A9D3D5@cgl.ucsf.edu">&lt;pdbwritebug.py.zip&gt;</span><span class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; float:none; display:inline!important">_______________________________________________</span><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">
<span class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; float:none; display:inline!important">Chimera-users
 mailing list</span><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">
<a href="mailto:Chimera-users@cgl.ucsf.edu" class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">Chimera-users@cgl.ucsf.edu</a><br class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">
<a href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users" class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a></div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</div>
</body>
</html>