<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 7, 2013, at 10:10 AM, Damien Larivière wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Dear all,<br>
      <br>
      I'm still on this subject. <br>
      <br>
      I tested the command (minimize spec :275-276.E:7-8.F fragment true
      nsteps 0 cgsteps 1 interval 1) suggested by Conrad or Eric in
      their reply to the bug I submitted. It works well.<br>
      <br>
      I attach the original structure to be minimized by Chimera
      (Chimera_minimization.pdb). This structure poses various problems
      (too long O3'-P bonds for instance) and that's the reason why I
      want to minimize it. <br>
      <br>
      It is interesting to note that the four distorted base rings (275
      and 276 chain E, 7 and 8 chain F) occured after the Steepest
      Descent steps. I attach the structure as it is after 100 Steepest
      Descent steps (Chimera_minimization_NoConjugate.pdb).<br>
      <br>
      For your information, the summary of my user experience in this
      specific case:<br>
      - the Steepest descent phase repaired too long O3'-P bonds<br>
      - the Steepest descent phase generated four distorted base rings<br>
      - the command minimize spec :275-276.E:7-8.F fragment true nsteps
      0 cgsteps 1 interval 1 (so just one step of conjugate gradient
      minimization) repaired the distorted rings. The structure at the
      end looks like stucturally correct.<br></div></div></blockquote><div><br></div>With the before-minimization structure you provided, I cannot reproduce the ring distortion -- neither with 1.6.2 nor 1.8, and neither on Mac nor Windows 64.  100 steps of steepest descent with no conjugate gradient and default forcefield choices (99SB on 1.6.2; 12SB on 1.8) results in perfectly normal-looking rings in those residues.  So if we can't reproduce it, the problem may not be possible for us to solve.  We'll see what we can do.</div><div><br><blockquote type="cite"><div text="#000000" bgcolor="#FFFFFF"><div class="moz-cite-prefix">May you tell me how you identified these four distorted rings?
      thanks to a visual inspection of the base pairs one by one?<br></div></div></blockquote><div><br></div>Well, if you're as familiar with Chimera as I am, you can use the Python layer to directly answer questions that no tool directly addresses.  So when I noted that breaking the circularizing phosphate bridges allowed the minimization to proceed, with a big drop in energy but no noticeable movement of the newly-freed ends, I wondered what atoms <i>had</i> moved.  Here's how I answered that question:</div><div><br></div><div>1) I used MatchMaker to superimpose the structure as best as possible.  Since I knew which chains to match up, I used the "specific chain with specific chain" option in MatchMaker to match chain E with E and chain F with F.</div><div><br></div><div>2) I opened the IDLE Python interpreter (in Tools/General Controls) so I could interactively execute Python commands.  In IDLE I:</div><div><br></div><div>2a) Fetched a list of atoms from both models:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>atoms1, atoms2 = [m.atoms for m in chimera.openModels.list()]</div><div><br></div><div>2b) Since one structure had atoms the other didn't, I needed to set up some way of matching up the atoms in one structure to the corresponding atoms (if any) in the other structure.  I made a lookup dictionary of the (residue ID + atom name) to atom for one structure's atoms, that I could later use on the other structure's atoms to determine the correspondences:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>lookup = dict([((a.residue.id, <a href="http://a.name">a.name</a>), a) for a in atoms1]) </div><div><br></div><div>2c) Then I run through the atoms in the other structure, and for ones that correspond to atoms in the first structure I note the distance between the atoms:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>dists = []</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>for a in atoms2:</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>key = (a.residue.id, <a href="http://a.name">a.name</a>)</div><div><span class="Apple-tab-span" style="white-space:pre">               </span>if key not in lookup:</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>continue</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>dists.append((a.xformCoord().distance(lookup[key].xformCoord()), a))</div><div><br></div><div>Note that since the models have been moved by MatchMaker relative to each other, I need to use xformCoord().  Also, I put the distance first in the 2-tuple, since I know I will want to sort the list next, and sorting works on the first member of a tuple first, only using later parts of the tuple in the event of ties.</div><div><br></div><div>2d) Sort the distances.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>dists.sort()</div><div><br></div><div>2e) Since sorting is from smallest to largest, reverse the order.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>dists.reverse()</div><div><br></div><div>Then I just examined the list.  For instance, "print dists[0]" showed me that the largest movement was ~0.4 angstroms.  That seemed significant.  "print dists[0][-1]" showed me it was one of the atoms in the four distorted residues.  I went and looked at the residue and could immediately see that the distorted ring was the problem.  To try to get a handle on how many large movements had occurred (which I arbitrarily decided was 0.2 angstroms) I executed this code:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>len([a for d, a in dists if d > 0.2])</div><div><br></div><div>which told me there were 25 atoms that had moved that much.  Since that wasn't an overwhelming number, I just printed them all:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>for d, a in dists[:25]:</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>print d, a</div><div><br></div><div>I could see that they were all in those four residues.  So that's how I found the problem residues.</div><div><br></div><div>--Eric</div><div><br><blockquote type="cite"><div text="#000000" bgcolor="#FFFFFF"><div class="moz-cite-prefix">
      <br>
      Many thanks<br>
      <br>
      Damien<br>
      <br>
      On 04/01/2013 13:27, Damien Larivière wrote:<br>
    </div>
    <blockquote cite="mid:50E6CACB.7050902@fourmentinguilbert.org" type="cite">
      <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
      <div class="moz-cite-prefix">Dear all,<br>
        <br>
        Many thanks for your help on this!<br>
        <br>
        Just one comment about the Steepest Descent steps that did not
        modify anything (RMSD = 0 as Eric or Conrad said). In fact, the
        structure I uploaded had already been minimized with through 100
        Steepest Descent steps. It resulted in the repairing of several
        too long O3'-P bonds and other structural deficiencies (but not
        the distorted base rings). This explains the RMSD equal to 0.<br>
        <br>
        I have a question: <br>
        <br>
        How did Eric or Conrad noticed that some rings were structurally
        deficient? I also observed these distortions but thanks to a <i>visual

          inspection</i> and, due to the size of the structure, by
        chance! One can use the ADIT server to know whether structural
        deficiencies subsist or not but this requires to make sense of a
        list of number. In other words, it is not said "your structure
        poses problem at the sugar rings at position 255 or at base ring
        at position 266".  You were able to tell me that base rings in
        residues 275 and 276 of chain E and residues 7 and 8 of chain F
        were deficient: Is there a way in Chimera to notice that
        "directly" or this is just a matter of expertize?<br>
        <br>
        I can't test the solution before Monday as I am away of my
        office. If I understand correctly:<br>
        <br>
        - I have to remove the phosphate bridges in order the conjugate
        gradient phase to start?!<br>
        <br>
        - I have to use the fragment option to accelerate the repair of
        known distorted rings thanks to the conjugate gradient steps?!<br>
        <br>
        I wish all of you a very happy new year!<br>
        <br>
        Damien<br>
        <br>
        On 03/01/2013 23:04, Eric Pettersen wrote:<br>
      </div>
      <blockquote cite="mid:217CB56B-EF8D-401A-81AD-D330408966EB@cgl.ucsf.edu" type="cite">Okay, the executive summary for those interested is
        that in a case like this where minimization gets "stuck" on a
        large structure you may have to minimize badly distorted parts
        of the structure separately first by using the "fragment" option
        of the <i>minimize</i> command (<i>not</i> the "freeze" option
        in the tool or command, which still uses the remainder of the
        structure in the calculation).
        <div><br>
        </div>
        <div>--Eric</div>
        <div><br>
          <div>
            <div>On Jan 2, 2013, at 1:34 PM, Eric Pettersen wrote:</div>
            <br class="Apple-interchange-newline">
            <blockquote type="cite">
              <div style="word-wrap: break-word; -webkit-nbsp-mode:
                space; -webkit-line-break: after-white-space; ">
                <div>
                  <div>On Dec 29, 2012, at 7:40 AM, Damien Larivière
                    wrote:</div>
                  <br class="Apple-interchange-newline">
                  <blockquote type="cite">
                    <div>Dear all,<br>
                      <br>
                      I'm currently minimizing a circular DNA molecule,
                      relatively large (~11 000 atoms). I use
                      "Minimizing structure" in Structure editing.<br>
                      <br>
                      The first phase, the Steepest Descent Steps, works
                      fine.<br>
                      <br>
                      However, the second one, the Conjugate Gradient
                      Steps, looks like blocked with the message "dock
                      prep finished" at the bottom of the screen.<br>
                      <br>
                      If I remove one base pair so that the molecule is
                      no more cyclized, then the second minimization
                      stage starts as expected.<br>
                      <br>
                      I'm not versed in the art of minimization. Do you
                      know the reason of this behavior?</div>
                  </blockquote>
                  <br>
                </div>
                <div>Hi Damien,</div>
                <div><span class="Apple-tab-span" style="white-space:pre"> </span>I cannot reproduce
                  this behavior.  A small circular peptide (attached)
                  minimizes fine with conjugate gradient.  I need you to
                  open a bug report (in Chimera, Help->Report A Bug)
                  and attach the circular DNA structure.  Thanks!</div>
                <div><br>
                </div>
                <div>--Eric</div>
                <br>
                <div> <span class="Apple-style-span" style="border-collapse: separate;
                    -webkit-border-horizontal-spacing: 0px;
                    -webkit-border-vertical-spacing: 0px; font-family:
                    Helvetica; font-size: 16px; font-style: normal;
                    font-variant: normal; font-weight: normal;
                    letter-spacing: normal; line-height: normal;
                    -webkit-text-decorations-in-effect: none;
                    text-indent: 0px; -webkit-text-size-adjust: auto;
                    text-transform: none; orphans: 2; white-space:
                    normal; widows: 2; word-spacing: 0px; ">
                    <div style="margin-top: 0px; margin-right: 0px;
                      margin-bottom: 0px; margin-left: 0px; "><font style="font: 16.0px Helvetica" face="Helvetica" size="5"><span class="Apple-converted-space">   
                                             <span class="Apple-converted-space"> </span></span>Eric

                        Pettersen</font></div>
                    <div style="margin-top: 0px; margin-right: 0px;
                      margin-bottom: 0px; margin-left: 0px; "><font style="font: 16.0px Helvetica" face="Helvetica" size="5"><span class="Apple-converted-space">   
                                             <span class="Apple-converted-space"> </span></span>UCSF

                        Computer Graphics Lab</font></div>
                    <div style="margin-top: 0px; margin-right: 0px;
                      margin-bottom: 0px; margin-left: 0px; "><font style="font: 16.0px Helvetica" face="Helvetica" size="5"><span class="Apple-converted-space"> 
                                                </span><a moz-do-not-send="true" href="http://www.cgl.ucsf.edu/">http://www.cgl.ucsf.edu</a></font></div>
                    <br class="Apple-interchange-newline">
                  </span> </div>
              </div>
              <span><circular.pdb></span>_______________________________________________<br>
              Chimera-users mailing list<br>
              <a moz-do-not-send="true" href="mailto:Chimera-users@cgl.ucsf.edu">Chimera-users@cgl.ucsf.edu</a><br>
              <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a><br>
            </blockquote>
          </div>
          <br>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
Chimera-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Chimera-users@cgl.ucsf.edu">Chimera-users@cgl.ucsf.edu</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a>
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </div>

<span><Chimera_minimization.pdb></span><span><Chimera_minimization_NoConjugate.pdb></span></blockquote></div><br></body></html>