<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Martin,<div><br></div><div>  Thanks for the script.  This is something others have requested.  So I added it to Chimera today, in tonight's daily builds.  </div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>volume #0 encloseVolume 150000<br><br>Uses bisection of the density value until the enclosed volume differs from the target volume by less than 1e-5 of the target volume. Uses at most 30 bisection steps.  Can set the level for multiple maps at once</div><div><div><br></div><div><span class="Apple-tab-span" style="white-space: pre; ">      </span>volume #0-5 encl 250000</div></div><div><br></div><div>Can specify multiple volume values to get multiple surfaces, for example<br><br><span class="Apple-tab-span" style="white-space:pre">     </span>volume #0 enclose 150000,300000</div><div><br></div><div>The enclosed volume is in cubic Angstroms if your map grid spacing is in Angstroms.  You can report the current enclosed volume with the "measure volume" command</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>measure volume #0</div><div><br></div><div>Thanks for figuring out code to do this.  I used a slight variation of what you did.</div><div><br></div><div>  Tom</div><div><br></div><div><br></div><div><br></div><div><div><div>On Nov 23, 2013, at 8:41 AM, Martin Turk  wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi,<br>
      <br>
      added another step for fine tunning and reduced number of steps,
      now it works much faster. Maybe there is a better way of doing the
      threshold steps. I overshoot up, down then up again, but it works
      :)<br>
      <br>
      Best,<br>
      Martin<br>
      <br>
      <br>
      <br>
      On 23.11.2013 16:29, Martin Turk wrote:<br>
    </div>
    <blockquote cite="mid:5290C9D0.8030009@lmb.uni-muenchen.de" type="cite">
      <meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
      <div class="moz-cite-prefix">Hi Shawn, Tom, Eric,<br>
        <br>
        thanks a lot for the help and for pointing me in the right
        direction. Finally I had some time and I've come up with a
        script that adjusts the volume level threshold from the active
        model to all opened models. For one model it's not a problem,
        but when one wants to adjust the levels for a series of volumes
        (for example after a 3d classification run in relion), it
        becomes cumbersome to do so for the ~50 models/run. Maybe other
        EM users find it handy, that's why I'd like to share it.<br>
        It took me quite some time to find the right functions, which do
        the actual measurement. Got lost in the OpenModels.h, volume.py,
        volumedialog.py, and the gui scripts. The rest was easy :-)
        Thanks again for your help!<br>
        <br>
        Best,<br>
        Martin Turk<br>
        <br>
        Beckmann Lab<br>
        LMU Gence Center Munich<br>
        <br>
        <br>
        On 18.11.2013 20:49, Eric Pettersen wrote:<br>
      </div>
      <blockquote cite="mid:AC3293D4-296E-4649-AF7C-DD6DD40F862E@cgl.ucsf.edu" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=windows-1252">
        To supplement Shawn and Tom's answers, obviously it would be
        best if everything were documented, but in the absence of that
        if there is a command that implements something similar to what
        you want to do, you can chase it down in the code base by:
        <div><br>
        </div>
        <div><span class="Apple-tab-span" style="white-space:pre"> </span>a)

          looking at Midas/__init__.py and see if it's one of the
          functions in there (they're arranged approximately
          alphabetically by command name), and if it's not in there…</div>
        <div><span class="Apple-tab-span" style="white-space:pre"> </span>b)

          grep share/*/ChimeraExtension.py for the command name to find
          which module defines the command.  Then look in that module's
          ChimeraExtension.py to see what file/method in the module
          implements the command.</div>
        <div><br>
        </div>
        <div>--Eric</div>
        <div><br>
        </div>
        <div><span class="Apple-tab-span" style="white-space:pre"> </span>Eric

          Pettersen</div>
        <div><span class="Apple-tab-span" style="white-space:pre"> </span>UCSF

          Computer Graphics Lab</div>
        <div><br>
          <div>
            <div>On Nov 18, 2013, at 9:06 AM, Shawn Waldon <<a moz-do-not-send="true" href="mailto:swaldon@cs.unc.edu">swaldon@cs.unc.edu</a>>

              wrote:</div>
            <br class="Apple-interchange-newline">
            <blockquote type="cite">
              <div dir="ltr">Hi Martin,
                <div><br>
                </div>
                <div>I am not aware that there is a python library
                  reference.  If there is, I would appreciate a pointer
                  to it as well.  Here are a few links I have found
                  helpful when writing python code for Chimera:</div>
                <div><br>
                </div>
                This shows how to execute command line commands, it may
                be what you want:<br class="">
                <a moz-do-not-send="true" href="http://www.cgl.ucsf.edu/chimera/data/downloads/1.8/docs/ProgrammersGuide/basicPrimer.html">http://www.cgl.ucsf.edu/chimera/data/downloads/1.8/docs/ProgrammersGuide/basicPrimer.html</a>
                <div> <br>
                </div>
                <div>This goes through how to make plugins and such, but
                  is helpful since the examples show more of the API:<br>
                  <div><a moz-do-not-send="true" href="http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/index.html">http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/index.html</a></div>
                </div>
                <div><br>
                </div>
                <div>HTH,</div>
                <div>Shawn Waldon</div>
              </div>
              <div class="gmail_extra"><br>
                <br>
                <div class="gmail_quote">On Mon, Nov 18, 2013 at 9:10
                  AM, Martin Turk <span dir="ltr"><<a moz-do-not-send="true" href="mailto:turk@lmb.uni-muenchen.de" target="_blank">turk@lmb.uni-muenchen.de</a>></span>
                  wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
                    <br>
                    I am trying to write a simple python script that
                    will iterate over opened volumes and adjust the
                    contour level to a certain mass. This shouldn't be
                    more than ~10 lines. However, I can't find chimera's
                    python library reference to look up the class
                    structure and operator names.<br>
                    <br>
                    Does someone know how, for example, set volume level
                    to 0.01 would look like in python?<br>
                    in the command line it would be for all models:
                    volume #0-99 level 0.01<br>
                    <br>
                    for models I've found chimera.openModels and then
                    you can list over them, but that's about it.<br>
                    <br>
                    Thanks,<br>
                    Martin Turk<br>
                    _______________________________________________<br>
                    Chimera-dev mailing list<br>
                    <a moz-do-not-send="true" href="mailto:Chimera-dev@cgl.ucsf.edu" target="_blank">Chimera-dev@cgl.ucsf.edu</a><br>
                    <a moz-do-not-send="true" href="http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev" target="_blank">http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev</a><br>
                  </blockquote>
                </div>
                <br>
                <br clear="all">
                <div><br>
                </div>
                -- <br>
                <div dir="ltr">Shawn Waldon
                  <div>Graduate Research Assistant</div>
                  <div>Department of Computer Science</div>
                  <div>University of North Carolina at Chapel Hill</div>
                  <div><a moz-do-not-send="true" href="mailto:swaldon@cs.unc.edu" target="_blank">swaldon@cs.unc.edu</a></div>
                </div>
              </div>
              _______________________________________________<br>
              Chimera-dev mailing list<br>
              <a moz-do-not-send="true" href="mailto:Chimera-dev@cgl.ucsf.edu">Chimera-dev@cgl.ucsf.edu</a><br>
              <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev">http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev</a><br>
            </blockquote>
          </div>
          <br>
        </div>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </div>

<span><chimera-volbymass3.py></span></blockquote></div><br></div></body></html>