diff --git a/doc/html/_modules/index.html b/doc/html/_modules/index.html index 1d022ea13180f9eedd9e34da7fd5b11899c9ebc9..761fe5c65208c68dab8e37156eb839f729a21ee2 100644 --- a/doc/html/_modules/index.html +++ b/doc/html/_modules/index.html @@ -52,6 +52,7 @@ <ul><li><a href="promod3.html">promod3</a></li> <ul><li><a href="promod3/core/argcheck.html">promod3.core.argcheck</a></li> <li><a href="promod3/core/helper.html">promod3.core.helper</a></li> +<li><a href="promod3/rawmodel/_rawmodel.html">promod3.rawmodel._rawmodel</a></li> </ul><li><a href="test_actions.html">test_actions</a></li> </ul> diff --git a/doc/html/_sources/actions/index_dev.txt b/doc/html/_sources/actions/index_dev.txt index 22d681be4872ec598e3ae70f449737b00faaa24a..8594a9dd4480a51680093fbc15db84995fc9d2ef 100644 --- a/doc/html/_sources/actions/index_dev.txt +++ b/doc/html/_sources/actions/index_dev.txt @@ -1,6 +1,10 @@ :mod:`test_actions.ActionTestCase` - Testing Actions ================================================================================ +.. module:: test_actions + +.. currentmodule:: test_actions + This module is **not** part of the |project| binary distribution. That is the productive bit running to produce models. It is only part of the source distribution intended to help developing |project|. Basically it supports you @@ -132,7 +136,6 @@ first, :file:`test_actions.py` has to be loaded as a module: .. testcode:: actiontest :hide: - sys.path.insert(0, __actiontest_path__) import test_actions .. code-block:: python @@ -243,7 +246,7 @@ with :file:`_run`. To solely run the tests for the awesome action, hit $ make test_action_do_awesome.py_run -Output of :class:`test_actions.ActionTestCase` +Output Of :class:`test_actions.ActionTestCase` -------------------------------------------------------------------------------- When running the test script you will notice that its not really talkative. Basically you do not see output to :file:`stdout`/ :file:`stderr` of your diff --git a/doc/html/_sources/cmake/index.txt b/doc/html/_sources/cmake/index.txt index a84784420b26b119b89cba4adee7411d30a837cf..ea65a5c067d967303f0b7707915b48f695c69290 100644 --- a/doc/html/_sources/cmake/index.txt +++ b/doc/html/_sources/cmake/index.txt @@ -151,8 +151,9 @@ Actions The parameters are: ``ACTION`` - Name of the action to be added. Should start with ``pm-``. Needs to be an - existing file in the same directory as the invoking :file:`CMakeLists.txt`. + Name of the action to be added. Should start with :file:`pm-`. Needs to be + an existing file in the same directory as the invoking + :file:`CMakeLists.txt`. ``TARGET`` Provide a ``make`` target to trigger copying the action's script file. The diff --git a/doc/html/_sources/contributing.txt b/doc/html/_sources/contributing.txt index acb3b011e34c58983a1ff19cb5b928f60cb73839..c898ea72fe89180048d3e09a1e4ced7b5f9e09bb 100644 --- a/doc/html/_sources/contributing.txt +++ b/doc/html/_sources/contributing.txt @@ -270,6 +270,8 @@ http://sphinx-doc.org/markup/inline.html If you write new functionality for |project|, or fix bugs, feel free to extend the Changelog. It will be automatically pulled into the documentation. +.. _how-to-start-your-own-module: + -------------------------------------------------------------------------------- How To Start Your Own Module -------------------------------------------------------------------------------- @@ -640,6 +642,142 @@ you. Now tests should be available by ``make check``, ``make codetest`` and ``make test_something.py_run``. +-------------------------------------------------------------------------------- +How To Start Your Own Action +-------------------------------------------------------------------------------- +In |project| we call scripts/ programs 'actions'. They are started by a +launcher found in your staging directory at :file:`stage/bin/pm`. This little +guy helps keeping the shell environment in the right mood to carry out your +job. So usually you will start an action by + +.. code-block:: console + + $ stage/bin/pm help + +To start your own action, follow :ref:`how-to-start-your-own-module` until +creating a directory structure for a new module. Also **do** go for a dedicated +branch for action-development. There you can produce intermediate commits while +other branches stay clean in case you have to do some work there which needs to +get public. + +After preparing your repository its time to create a file for the action. That +is a bit different than for modules. Assuming we are sitting in the +repository's root: + +.. code-block:: console + + $ touch action/pm-awesome-action + $ chmod +x action/pm-awesome-action + +Two things are important here: actions are prefixed with :file:`pm-`, so they +are recognised by the :file:`pm` launcher. Secondly, action files need to be +executable, which does not propagate if you do it **after** the first call to +``make``. + +To get the new action recognised by ``make`` to be placed in +:file:`stage/libexec/promod3`, it has to be registered with |cmake| in +:file:`actions/CMakeLists.txt`: + +.. code-block:: cmake + :linenos: + + add_custom_target(actions ALL) + add_subdirectory(tests) + + pm_action_init() + pm_action(pm-build-rawmodel actions) + pm_action(pm-help actions) + pm_action(pm-awesome-action actions) + +Just add your action with its full filename with a call to +:cmake:command:`pm_action` at the end of the file. + +Before coding your action, lets set up unit tests for it. Usually when adding +features, you will immediately try them, check that everything works as +intended, etc.. |project| helps you automatising those tests so its rather easy +to check later, if code changes break anything. Start with a file +:file:`actions/tests/test_action_awesome.py`: + +.. testcode:: contribute_action + :hide: + + import sys + sys.dont_write_bytecode = True + + import test_actions + import unittest + + class DoAwesomeActionTests(test_actions.ActionTestCase): + def __init__(self, *args, **kwargs): + test_actions.ActionTestCase.__init__(self, *args, **kwargs) + self.pm_bin = os.path.join(os.getcwd(), os.pardir, 'stage', 'bin', + 'pm') + self.pm_action = 'help' + + def testExit0(self): + self.RunExitStatusTest(0, list()) + + if __name__ == "__builtin__": + import os + suite = unittest.TestLoader().loadTestsFromTestCase(DoAwesomeActionTests) + unittest.TextTestRunner().run(suite) + +.. code-block:: python + :linenos: + + import sys + + # this is needed so there will be no test_actions.pyc created in the source + # directory + sys.dont_write_bytecode = True + + import test_actions + + class AwesomeActionTests(test_actions.ActionTestCase): + def __init__(self, *args, **kwargs): + test_actions.ActionTestCase.__init__(self, *args, **kwargs) + self.pm_action = 'awesome' + + def testExit0(self): + self.RunExitStatusTest(0, list()) + + if __name__ == "__main__": + from ost import testutils + testutils.RunTests() + +Please note that for actions we are using +:class:`test_actions.ActionTestCase <test_actions>` instead of +:class:`unittest.TestCase`. Since testing has a lot in common for different +actions, we decided to put up a little wrapper around this subject. See the +documentation of :class:`ActionTestCase <test_actions>` for more information. + +Now its time to fill your action with code. Instead of reading a lot more of +explanations, it should be easy to go by examples from the :file:`actions` +directory. There are only two really important points: + +* No shebang line (``#! /usr/bin/python``) in your action! Also no + ``#! /usr/bin/env python`` or anything like this. This may lead to funny side + effects, like calling a |python| interpreter from outside a virtual + environment or a different version |ost_s|. Basically it may mess up the + environment your action is running in. Actions are called by :file:`pm`, + that's enough to get everything just right. + +* The action of your action happens in the |mainattr|_ branch of the script. + Your action will have own function definitions, variables and all the bells + and whistles. Hiding behind |mainattr|_ keeps everything separated and makes + things easier when it gets to debugging. So just after + + .. code-block:: python + + import alot + + def functions_specific_to_your_action(...): + + if __name__ == "__main__": + <put together what your action should do here> + + start putting your action together. + -------------------------------------------------------------------------------- Third Party Contributions (License Issues) -------------------------------------------------------------------------------- @@ -674,6 +812,7 @@ contributions to web pages using |project|. .. |fedora| replace:: Fedora .. |nameattr| replace:: :attr:`__name__` +.. |mainattr| replace:: :attr:`__main__` .. |pylint| replace:: Pylint .. _pylint: http://www.pylint.org .. LocalWords: cmake hotfix doctest linkcheck rebase BRANCHNAME rebasing py @@ -684,6 +823,8 @@ contributions to web pages using |project|. .. LocalWords: changelog Optimized DOPTIMIZE gitignore cd conf subtree attr .. LocalWords: unittest TestCase nameattr testcode staticmethod builtin cp .. LocalWords: SomethingTests testFileExistsFalse testutils RunTests DQMEAN -.. LocalWords: pre API inline CMake hh ProMod Bienchen OST OPENSTRUCTURE +.. LocalWords: pre API inline CMake hh ProMod Bienchen OST OPENSTRUCTURE os .. LocalWords: mol alg conop QMEAN KIC eigen eigenvectors Lapack rawmodel -.. LocalWords: OpenStructure ost pylint +.. LocalWords: OpenStructure ost pylint chmod sys pyc dont bytecode args +.. LocalWords: AwesomeActionTests ActionTestCase kwargs testExit getcwd +.. LocalWords: RunExitStatusTest DoAwesomeActionTests pardir mainattr alot diff --git a/doc/html/actions/index_dev.html b/doc/html/actions/index_dev.html index 4c342ecd44e0387372f08afca387bc131379edd6..fa4141b36ec709e7325354fdf1640c94d3a52c18 100644 --- a/doc/html/actions/index_dev.html +++ b/doc/html/actions/index_dev.html @@ -58,8 +58,8 @@ <div class="bodywrapper"> <div class="body" role="main"> - <div class="section" id="test-actions-actiontestcase-testing-actions"> -<h1><a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-mod docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a> - Testing Actions<a class="headerlink" href="#test-actions-actiontestcase-testing-actions" title="Permalink to this headline">¶</a></h1> + <div class="section" id="module-test_actions"> +<span id="test-actions-actiontestcase-testing-actions"></span><h1><a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-mod docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a> - Testing Actions<a class="headerlink" href="#module-test_actions" title="Permalink to this headline">¶</a></h1> <p>This module is <strong>not</strong> part of the ProMod3 binary distribution. That is the productive bit running to produce models. It is only part of the source distribution intended to help developing ProMod3. Basically it supports you @@ -230,7 +230,7 @@ with <code class="file docutils literal"><span class="pre">_run</span></code>. T </div> </div> <div class="section" id="output-of-test-actions-actiontestcase"> -<h3>Output of <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a><a class="headerlink" href="#output-of-test-actions-actiontestcase" title="Permalink to this headline">¶</a></h3> +<h3>Output Of <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a><a class="headerlink" href="#output-of-test-actions-actiontestcase" title="Permalink to this headline">¶</a></h3> <p>When running the test script you will notice that its not really talkative. Basically you do not see output to <code class="file docutils literal"><span class="pre">stdout</span></code>/ <code class="file docutils literal"><span class="pre">stderr</span></code> of your action, while the test script fires it a couple of times. That is by design. @@ -278,11 +278,11 @@ output will be separated into <code class="file docutils literal"><span class="p <dd><p>Class to help developing actions. Comes with a lot of convenience wrappers around what should be tested and serves as a recorder for test calls... just for in two years when you come back to rewrite the whole action...</p> -<p>While inheriting this class, <a class="reference internal" href="#ActionTestCase.pm_action" title="ActionTestCase.pm_action"><code class="xref py py-attr docutils literal"><span class="pre">pm_action</span></code></a> needs to be defined. +<p>While inheriting this class, <a class="reference internal" href="#test_actions.ActionTestCase.pm_action" title="test_actions.ActionTestCase.pm_action"><code class="xref py py-attr docutils literal"><span class="pre">pm_action</span></code></a> needs to be defined. Otherwise the whole idea does not work.</p> <dl class="attribute"> -<dt id="ActionTestCase.pm_bin"> -<code class="descname">pm_bin</code><a class="headerlink" href="#ActionTestCase.pm_bin" title="Permalink to this definition">¶</a></dt> +<dt id="test_actions.ActionTestCase.pm_bin"> +<code class="descname">pm_bin</code><a class="headerlink" href="#test_actions.ActionTestCase.pm_bin" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <p>This is the path of the <code class="docutils literal"><span class="pre">pm</span></code> binary. Automatically set by calling @@ -296,8 +296,8 @@ Otherwise the whole idea does not work.</p> </tbody> </table> <dl class="attribute"> -<dt id="ActionTestCase.pm_action"> -<code class="descname">pm_action</code><a class="headerlink" href="#ActionTestCase.pm_action" title="Permalink to this definition">¶</a></dt> +<dt id="test_actions.ActionTestCase.pm_action"> +<code class="descname">pm_action</code><a class="headerlink" href="#test_actions.ActionTestCase.pm_action" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <p>The action to be tested. Needs to be set by your initialisation routine, @@ -316,7 +316,7 @@ Otherwise the whole idea does not work.</p> <code class="descname">RunAction</code><span class="sig-paren">(</span><em>arguments</em>, <em>verbose=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/test_actions.html#ActionTestCase.RunAction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#test_actions.ActionTestCase.RunAction" title="Permalink to this definition">¶</a></dt> <dd><p>Call an action, return the exit status (<code class="docutils literal"><span class="pre">$?</span></code> shell variable). May be set to <code class="docutils literal"><span class="pre">verbose</span></code> to print the actions terminal output. The action to -be executed needs to be stored in <a class="reference internal" href="#ActionTestCase.pm_action" title="ActionTestCase.pm_action"><code class="xref py py-attr docutils literal"><span class="pre">pm_action</span></code></a> first.</p> +be executed needs to be stored in <a class="reference internal" href="#test_actions.ActionTestCase.pm_action" title="test_actions.ActionTestCase.pm_action"><code class="xref py py-attr docutils literal"><span class="pre">pm_action</span></code></a> first.</p> <p>If in verbose mode, output to <code class="file docutils literal"><span class="pre">stdout</span></code> of the action will be printed first followed by <code class="file docutils literal"><span class="pre">stderr</span></code>.</p> <table class="docutils field-list" frame="void" rules="none"> @@ -359,7 +359,7 @@ printed first followed by <code class="file docutils literal"><span class="pre"> <dt id="test_actions.ActionTestCase.testPMExists"> <code class="descname">testPMExists</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/test_actions.html#ActionTestCase.testPMExists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#test_actions.ActionTestCase.testPMExists" title="Permalink to this definition">¶</a></dt> <dd><p>This is an internal test, executed when the source code of the test -class is run as unit test. Verifies that <a class="reference internal" href="#ActionTestCase.pm_bin" title="ActionTestCase.pm_bin"><code class="xref py py-attr docutils literal"><span class="pre">pm_bin</span></code></a> is an existing +class is run as unit test. Verifies that <a class="reference internal" href="#test_actions.ActionTestCase.pm_bin" title="test_actions.ActionTestCase.pm_bin"><code class="xref py py-attr docutils literal"><span class="pre">pm_bin</span></code></a> is an existing file (also complains if a directory is found instead).</p> </dd></dl> @@ -384,7 +384,7 @@ file (also complains if a directory is found instead).</p> <li><a class="reference internal" href="#must-have-tests">Must Have Tests</a></li> <li><a class="reference internal" href="#making-the-script-executable">Making the Script Executable</a></li> <li><a class="reference internal" href="#running-the-test-script">Running the Test Script</a></li> -<li><a class="reference internal" href="#output-of-test-actions-actiontestcase">Output of <code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a></li> +<li><a class="reference internal" href="#output-of-test-actions-actiontestcase">Output Of <code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a></li> </ul> </li> <li><a class="reference internal" href="#unit-test-actions-api">Unit Test Actions API</a></li> diff --git a/doc/html/cmake/index.html b/doc/html/cmake/index.html index c1e5864e6eabf56c33d254d0b68d1d5242dfb9d5..e599bea80f88eebb4bf9d05ab5ff1f5483ce08e6 100644 --- a/doc/html/cmake/index.html +++ b/doc/html/cmake/index.html @@ -202,8 +202,9 @@ created.</p> <p>The parameters are:</p> <dl class="docutils"> <dt><code class="docutils literal"><span class="pre">ACTION</span></code></dt> -<dd>Name of the action to be added. Should start with <code class="docutils literal"><span class="pre">pm-</span></code>. Needs to be an -existing file in the same directory as the invoking <code class="file docutils literal"><span class="pre">CMakeLists.txt</span></code>.</dd> +<dd>Name of the action to be added. Should start with <code class="file docutils literal"><span class="pre">pm-</span></code>. Needs to be +an existing file in the same directory as the invoking +<code class="file docutils literal"><span class="pre">CMakeLists.txt</span></code>.</dd> <dt><code class="docutils literal"><span class="pre">TARGET</span></code></dt> <dd>Provide a <code class="docutils literal"><span class="pre">make</span></code> target to trigger copying the action’s script file. The target has to be created <strong>before</strong> any action may be attached to it.</dd> diff --git a/doc/html/contributing.html b/doc/html/contributing.html index b86c0c0f9538d91a643bb254acd944f636316a0d..436d8b6131ffacfc732d4164cf485b51ba870a62 100644 --- a/doc/html/contributing.html +++ b/doc/html/contributing.html @@ -293,7 +293,7 @@ documentation, here is a helpful list of standard formatters: the Changelog. It will be automatically pulled into the documentation.</p> </div> <div class="section" id="how-to-start-your-own-module"> -<h2>How To Start Your Own Module<a class="headerlink" href="#how-to-start-your-own-module" title="Permalink to this headline">¶</a></h2> +<span id="id1"></span><h2>How To Start Your Own Module<a class="headerlink" href="#how-to-start-your-own-module" title="Permalink to this headline">¶</a></h2> <p>This is just a walk-through how the topics from above work together when you start your own module. For the entry point, lets assume that you already cloned the repository into a directory and just changed into it.</p> @@ -738,6 +738,127 @@ you.</p> <p>Now tests should be available by <code class="docutils literal"><span class="pre">make</span> <span class="pre">check</span></code>, <code class="docutils literal"><span class="pre">make</span> <span class="pre">codetest</span></code> and <code class="docutils literal"><span class="pre">make</span> <span class="pre">test_something.py_run</span></code>.</p> </div> +<div class="section" id="how-to-start-your-own-action"> +<h2>How To Start Your Own Action<a class="headerlink" href="#how-to-start-your-own-action" title="Permalink to this headline">¶</a></h2> +<p>In ProMod3 we call scripts/ programs ‘actions’. They are started by a +launcher found in your staging directory at <code class="file docutils literal"><span class="pre">stage/bin/pm</span></code>. This little +guy helps keeping the shell environment in the right mood to carry out your +job. So usually you will start an action by</p> +<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> stage/bin/pm <span class="nb">help</span> +</pre></div> +</div> +<p>To start your own action, follow <a class="reference internal" href="#how-to-start-your-own-module"><span>How To Start Your Own Module</span></a> until +creating a directory structure for a new module. Also <strong>do</strong> go for a dedicated +branch for action-development. There you can produce intermediate commits while +other branches stay clean in case you have to do some work there which needs to +get public.</p> +<p>After preparing your repository its time to create a file for the action. That +is a bit different than for modules. Assuming we are sitting in the +repository’s root:</p> +<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> touch action/pm-awesome-action +<span class="gp">$</span> chmod +x action/pm-awesome-action +</pre></div> +</div> +<p>Two things are important here: actions are prefixed with <code class="file docutils literal"><span class="pre">pm-</span></code>, so they +are recognised by the <code class="file docutils literal"><span class="pre">pm</span></code> launcher. Secondly, action files need to be +executable, which does not propagate if you do it <strong>after</strong> the first call to +<code class="docutils literal"><span class="pre">make</span></code>.</p> +<p>To get the new action recognised by <code class="docutils literal"><span class="pre">make</span></code> to be placed in +<code class="file docutils literal"><span class="pre">stage/libexec/promod3</span></code>, it has to be registered with CMake in +<code class="file docutils literal"><span class="pre">actions/CMakeLists.txt</span></code>:</p> +<div class="highlight-cmake"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1 +2 +3 +4 +5 +6 +7</pre></div></td><td class="code"><div class="highlight"><pre> <span class="nb">add_custom_target</span><span class="p">(</span><span class="s">actions</span> <span class="s">ALL</span><span class="p">)</span> + <span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">tests</span><span class="p">)</span> + + <span class="nb">pm_action_init</span><span class="p">()</span> + <span class="nb">pm_action</span><span class="p">(</span><span class="s">pm-build-rawmodel</span> <span class="s">actions</span><span class="p">)</span> + <span class="nb">pm_action</span><span class="p">(</span><span class="s">pm-help</span> <span class="s">actions</span><span class="p">)</span> + <span class="nb">pm_action</span><span class="p">(</span><span class="s">pm-awesome-action</span> <span class="s">actions</span><span class="p">)</span> +</pre></div> +</td></tr></table></div> +<p>Just add your action with its full filename with a call to +<span class="target" id="index-0-command:pm_action"></span><a class="reference internal" href="cmake/index.html#command:pm_action" title="pm_action"><code class="xref cmake cmake-command docutils literal"><span class="pre">pm_action()</span></code></a> at the end of the file.</p> +<p>Before coding your action, lets set up unit tests for it. Usually when adding +features, you will immediately try them, check that everything works as +intended, etc.. ProMod3 helps you automatising those tests so its rather easy +to check later, if code changes break anything. Start with a file +<code class="file docutils literal"><span class="pre">actions/tests/test_action_awesome.py</span></code>:</p> +<div class="highlight-python"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19</pre></div></td><td class="code"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">sys</span> + +<span class="c"># this is needed so there will be no test_actions.pyc created in the source</span> +<span class="c"># directory</span> +<span class="n">sys</span><span class="o">.</span><span class="n">dont_write_bytecode</span> <span class="o">=</span> <span class="bp">True</span> + +<span class="kn">import</span> <span class="nn">test_actions</span> + +<span class="k">class</span> <span class="nc">AwesomeActionTests</span><span class="p">(</span><span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> + <span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> + <span class="bp">self</span><span class="o">.</span><span class="n">pm_action</span> <span class="o">=</span> <span class="s">'awesome'</span> + + <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">())</span> + +<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span> + <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">testutils</span> + <span class="n">testutils</span><span class="o">.</span><span class="n">RunTests</span><span class="p">()</span> +</pre></div> +</td></tr></table></div> +<p>Please note that for actions we are using +<a class="reference internal" href="actions/index_dev.html#module-test_actions" title="test_actions"><code class="xref py py-class docutils literal"><span class="pre">test_actions.ActionTestCase</span></code></a> instead of +<a class="reference external" href="https://docs.python.org/2.7/library/unittest.html#unittest.TestCase" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">unittest.TestCase</span></code></a>. Since testing has a lot in common for different +actions, we decided to put up a little wrapper around this subject. See the +documentation of <a class="reference internal" href="actions/index_dev.html#module-test_actions" title="test_actions"><code class="xref py py-class docutils literal"><span class="pre">ActionTestCase</span></code></a> for more information.</p> +<p>Now its time to fill your action with code. Instead of reading a lot more of +explanations, it should be easy to go by examples from the <code class="file docutils literal"><span class="pre">actions</span></code> +directory. There are only two really important points:</p> +<ul> +<li><p class="first">No shebang line (<code class="docutils literal"><span class="pre">#!</span> <span class="pre">/usr/bin/python</span></code>) in your action! Also no +<code class="docutils literal"><span class="pre">#!</span> <span class="pre">/usr/bin/env</span> <span class="pre">python</span></code> or anything like this. This may lead to funny side +effects, like calling a Python interpreter from outside a virtual +environment or a different version OST. Basically it may mess up the +environment your action is running in. Actions are called by <code class="file docutils literal"><span class="pre">pm</span></code>, +that’s enough to get everything just right.</p> +</li> +<li><p class="first">The action of your action happens in the <a class="reference external" href="https://docs.python.org/2.7/library/__main__.html"><code class="xref py py-attr docutils literal"><span class="pre">__main__</span></code></a> branch of the script. +Your action will have own function definitions, variables and all the bells +and whistles. Hiding behind <a class="reference external" href="https://docs.python.org/2.7/library/__main__.html"><code class="xref py py-attr docutils literal"><span class="pre">__main__</span></code></a> keeps everything separated and makes +things easier when it gets to debugging. So just after</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">alot</span> + +<span class="k">def</span> <span class="nf">functions_specific_to_your_action</span><span class="p">(</span><span class="o">...</span><span class="p">):</span> + +<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span> + <span class="o"><</span><span class="n">put</span> <span class="n">together</span> <span class="n">what</span> <span class="n">your</span> <span class="n">action</span> <span class="n">should</span> <span class="n">do</span> <span class="n">here</span><span class="o">></span> +</pre></div> +</div> +<p>start putting your action together.</p> +</li> +</ul> +</div> <div class="section" id="third-party-contributions-license-issues"> <h2>Third Party Contributions (License Issues)<a class="headerlink" href="#third-party-contributions-license-issues" title="Permalink to this headline">¶</a></h2> <p>For some tasks you may want to make use of third party contributions in your @@ -786,6 +907,7 @@ contributions to web pages using ProMod3.</p> <li><a class="reference internal" href="#unit-tests">Unit Tests</a></li> <li><a class="reference internal" href="#writing-documentation">Writing Documentation</a></li> <li><a class="reference internal" href="#how-to-start-your-own-module">How To Start Your Own Module</a></li> +<li><a class="reference internal" href="#how-to-start-your-own-action">How To Start Your Own Action</a></li> <li><a class="reference internal" href="#third-party-contributions-license-issues">Third Party Contributions (License Issues)</a></li> </ul> </li> diff --git a/doc/html/developers.html b/doc/html/developers.html index cd85a657ee5141f57b71fb2f1ce97050c667f6be..b172eed0815a11fea304f50075d46d14e121190f 100644 --- a/doc/html/developers.html +++ b/doc/html/developers.html @@ -90,6 +90,7 @@ <li class="toctree-l2"><a class="reference internal" href="contributing.html#unit-tests">Unit Tests</a></li> <li class="toctree-l2"><a class="reference internal" href="contributing.html#writing-documentation">Writing Documentation</a></li> <li class="toctree-l2"><a class="reference internal" href="contributing.html#how-to-start-your-own-module">How To Start Your Own Module</a></li> +<li class="toctree-l2"><a class="reference internal" href="contributing.html#how-to-start-your-own-action">How To Start Your Own Action</a></li> <li class="toctree-l2"><a class="reference internal" href="contributing.html#third-party-contributions-license-issues">Third Party Contributions (License Issues)</a></li> </ul> </li> diff --git a/doc/html/genindex.html b/doc/html/genindex.html index 55f16e0661d1d685b89d26671f88e507d41ef7d3..3fe5beb1229c560246f23eff384d307fbf4b881f 100644 --- a/doc/html/genindex.html +++ b/doc/html/genindex.html @@ -127,7 +127,7 @@ </dt> - <dt><a href="cmake/index.html#command:pm_action"><strong>pm_action</strong></a> + <dt><a href="contributing.html#index-0-command:pm_action">pm_action</a>, <a href="cmake/index.html#command:pm_action"><strong>[1]</strong></a> </dt> @@ -214,16 +214,16 @@ <dd><dl> - <dt><a href="cmake/index.html#command:pm_action"><strong>command</strong></a> + <dt><a href="contributing.html#index-0-command:pm_action">command</a>, <a href="cmake/index.html#command:pm_action"><strong>[1]</strong></a> </dt> </dl></dd> - <dt><a href="actions/index_dev.html#ActionTestCase.pm_action">pm_action (ActionTestCase attribute)</a> + <dt><a href="actions/index_dev.html#test_actions.ActionTestCase.pm_action">pm_action (test_actions.ActionTestCase attribute)</a> </dt> - <dt><a href="actions/index_dev.html#ActionTestCase.pm_bin">pm_bin (ActionTestCase attribute)</a> + <dt><a href="actions/index_dev.html#test_actions.ActionTestCase.pm_bin">pm_bin (test_actions.ActionTestCase attribute)</a> </dt> </dl></td> @@ -284,6 +284,12 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> + <dt><a href="actions/index_dev.html#module-test_actions">test_actions (module)</a> + </dt> + + </dl></td> + <td style="width: 33%" valign="top"><dl> + <dt><a href="actions/index_dev.html#test_actions.ActionTestCase.testPMExists">testPMExists() (test_actions.ActionTestCase method)</a> </dt> diff --git a/doc/html/objects.inv b/doc/html/objects.inv index 6edf7fc04377099879b2b427719236241691f512..5fc261bdba7c88113188adb3ca36f70469986752 100644 Binary files a/doc/html/objects.inv and b/doc/html/objects.inv differ diff --git a/doc/html/py-modindex.html b/doc/html/py-modindex.html index f67da52df1527963ebe9d4150d8b37aff4948eb7..9f7275fe258a31219d39c054148fdf86dc007e77 100644 --- a/doc/html/py-modindex.html +++ b/doc/html/py-modindex.html @@ -55,7 +55,8 @@ <h1>Python Module Index</h1> <div class="modindex-jumpbox"> - <a href="#cap-p"><strong>p</strong></a> + <a href="#cap-p"><strong>p</strong></a> | + <a href="#cap-t"><strong>t</strong></a> </div> <table class="indextable modindextable" cellspacing="0" cellpadding="2"> @@ -78,6 +79,14 @@ <td> <a href="rawmodel/index.html#module-promod3.rawmodel"><code class="xref">promod3.rawmodel</code></a></td><td> <em>Raw Coordinate Model</em></td></tr> + <tr class="pcap"><td></td><td> </td><td></td></tr> + <tr class="cap" id="cap-t"><td></td><td> + <strong>t</strong></td><td></td></tr> + <tr> + <td></td> + <td> + <a href="actions/index_dev.html#module-test_actions"><code class="xref">test_actions</code></a></td><td> + <em></em></td></tr> </table> diff --git a/doc/html/searchindex.js b/doc/html/searchindex.js index 493014c3bbee4a4b46ac895783b3e6a0b03e0566..b71719d81e45569c05c8d9f5b6957d25f9260540 100644 --- a/doc/html/searchindex.js +++ b/doc/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:46,filenames:["actions/index_dev","buildsystem","changelog","cmake/index","contributing","core/argcheck","core/helper","core/index","core/setcompoundschemlib","developers","index","rawmodel/index","users"],objects:{"":{"command:add_doc_dependency":[3,0,1,""],"command:add_doc_source":[3,0,1,""],"command:pm_action":[3,0,1,""],"command:promod3_unittest":[3,0,1,""]},"promod3.core.argcheck":{FileExists:[5,2,1,""],FileExtension:[5,2,1,""]},"promod3.core.helper":{MsgErrorAndExit:[6,2,1,""]},"promod3.rawmodel":{BuildRawModel:[11,2,1,""],RawModelingResult:[11,4,1,""]},"promod3.rawmodel.RawModelingResult":{gaps:[11,3,1,""],model:[11,3,1,""]},"test_actions.ActionTestCase":{RunAction:[0,5,1,""],RunExitStatusTest:[0,5,1,""],testPMExists:[0,5,1,""]},ActionTestCase:{pm_action:[0,3,1,""],pm_bin:[0,3,1,""]},promod3:{SetCompoundsChemlib:[8,2,1,""],core:[7,1,0,"-"],rawmodel:[11,1,0,"-"]},test_actions:{ActionTestCase:[0,4,1,""]}},objnames:{"0":["cmake","command","CMake command"],"1":["py","module","Python module"],"2":["py","function","Python function"],"3":["py","attribute","Python attribute"],"4":["py","class","Python class"],"5":["py","method","Python method"]},objtypes:{"0":"cmake:command","1":"py:module","2":"py:function","3":"py:attribute","4":"py:class","5":"py:method"},terms:{"2b1":1,"__init__":[0,4],"__main__":[0,4],"__name__":[0,4],"_opt":4,"_run":[0,3],"_xml":3,"boolean":5,"break":[3,4],"case":4,"class":[0,4,7,11],"default":[0,1,4,8],"final":[4,11],"import":[],"int":[0,5,6],"new":[0,4,11],"public":[],"return":[0,5,6,8,11],"short":4,"static":4,"switch":4,"throw":0,"true":[0,4,5,11],"try":0,"var":[],"while":[0,3,4,5],abil:4,abort:4,about:[0,3,4,11],abov:[0,4],absolut:3,academ:4,accord:4,achiev:4,acid:11,acknowledg:4,across:0,action_rst:[],action_unit_test:0,actiontest:0,activ:4,actual:4,add:[0,3,4],add_argu:5,add_changelog_to_doc:4,add_custom_target:[],add_doc_depend:3,add_doc_sourc:[3,4],add_subdirectori:4,addit:[3,4,5],addition:[0,3],additional_make_clean_fil:4,admir:4,advic:4,advis:4,affect:4,after:[0,1,4],again:[1,4],ago:0,algorithm:[4,11],alias:4,align:11,all:[0,1,3,4,5,11],allow:4,almost:3,aln:11,alon:6,along:[0,4],alreadi:[0,3,4],also:[0,1,3,4,5,11],alwai:[0,4],amino:11,ancient:8,ani:[0,3,4,8],announc:[0,4],anyth:[1,4,8],anywai:4,apart:0,api:[],appli:[4,8],applic:0,approach:4,arg:[0,4],argpars:5,argument:[],argumentpars:5,around:[0,4],ask:4,assertequ:4,assum:[0,4],atom:11,attach:[3,11],attachview:11,attent:[0,4],attribut:4,author:4,autom:3,automat:[0,4,5],automatis:[],avail:[0,1,4,8],avoid:[4,8],awai:4,awar:4,awesom:0,awesomeactiontest:[],back:[0,4],backbon:11,background:1,bar:[],base:[5,11],basi:[3,4],basic:[0,1,4,11],becaus:[1,4],been:4,befor:[0,3,4],begin:[0,4],behav:0,behind:[],belong:[3,4],below:4,besid:[1,3],best:3,between:0,bienchen:4,bin:[],binari:[0,4],bit:[0,1,4],blank:4,bool:[0,5],boost:[0,1,2,3,4,5,6,7,8,9,10,11,12],boost_include_dir:4,boost_root:1,branchnam:4,brew:3,briefli:4,bring:4,broken:0,bug:4,builder:1,buildrawmodel:11,built:[3,4],bunch:[0,4],bytecod:0,cach:[1,4],call:[0,1,3,4,8],calpha:11,calpha_onli:11,came:4,can:[0,1,4,5,8,11],cannot:4,captur:0,carri:[4,5],categori:3,caus:4,certain:[0,1,3,4],certainli:0,chain:[4,11],chanc:4,chapter:4,charg:4,check:[0,1,4,5],checkout:4,chemic:8,childclass:0,chmod:[],clean:[1,4],clone:4,close:4,clutter:[0,4],cmake_build_typ:4,cmake_c_compiler_vers:4,cmake_compiler_is_gnucxx:4,cmake_current_source_dir:4,cmake_cxx_compiler_vers:4,cmake_cxx_flag:4,cmake_cxx_flags_releas:4,cmake_minimum_requir:4,cmake_module_path:4,cmake_source_dir:4,cmake_support:[3,4],cmakecach:1,cmakelist:[0,1,3,4],coars:4,code:[0,1,3,4,5,6,8],codetest:[3,4],collect:6,come:[0,3,4,5],comfort:5,command:[],comment:4,commerci:4,commit:4,common:[4,5],compat:4,compil:[0,4],complain:0,complaint:4,complet:[4,11],complex:4,compon:[4,8],compound:8,compress:5,concept:4,condit:4,conf:[1,4],config:4,configur:[1,4],conflict:4,connect:[3,4],conop:4,conquer:4,consid:[3,4],consist:4,contain:[0,1,3,4,5,11],content:[4,9,10],continu:0,contribut:[],control:4,conveni:0,convent:0,convert:11,coordin:[],cope:4,copi:[3,4,11],core:[],correspond:4,could:[0,3,4,11],coupl:[0,4],cours:4,cover:[0,4,5,7],creat:[],croak:4,crucial:4,current:4,custom:4,cxx:4,dai:5,dare:3,data1:3,data2:3,data:[0,3,4],date:4,dbg:4,debug:4,decent:8,decid:[],declar:[3,4],dedic:[1,3,4],def:[0,4],defin:[0,3,8],definit:4,delet:11,deliv:0,dep:3,dependency1:3,dependency2:3,deriv:0,dervi:[],describ:[3,5],descript:4,design:[0,5],detail:[4,11],detect:5,determin:5,deuterium:11,develop:[],devot:7,dictionari:8,did:4,differ:[0,1,3,4,8],dir:4,direct:4,directori:[],dirti:0,disabl:[0,4],disable_disable_doctest:4,disable_disable_linkcheck:4,disable_doctest:[1,4],disable_document:[1,4],disable_linkcheck:[1,4],displai:5,distribut:[0,4],dive:4,diverg:4,doawesomeactiontest:0,doc:[1,3,4],doctest:[1,4],document:[],doe:[0,3,4,5,8,11],don:[1,4],done:[0,4],dont_write_bytecod:0,doptim:4,dost_root:[1,4],download:1,dqmean_root:[1,4],drawback:4,driven:4,drop:4,due:11,dure:0,each:[],easi:[],easier:0,easili:[3,4],echo:4,editor:0,educ:4,effect:3,eigen3:4,eigen3_found:4,eigen3_include_dir:[1,4],eigen:[1,4],eigenvalu:4,eigenvector:4,either:[4,11],elabor:4,element:0,els:4,emerg:0,emploi:4,empti:[4,6],enabl:[0,5,8],end:[0,1,3,4,5,6],endif:4,enough:4,entiti:4,entityhandl:11,entri:4,enumer:4,env:[],environ:[0,4],error:[5,6],essenti:4,etc:[0,4],evalu:[3,4],even:[1,4],ever:4,everi:[0,4,11],everybodi:4,everyth:[],exactli:1,exampl:[0,1,4,11],except:4,exclud:4,exclus:[0,4],exec_program:4,execut:[],executable_output_path:4,exist:[0,3,4,5],exit:[0,5,6],exit_cod:0,exit_statu:[5,6],exot:4,expand:4,expect:0,explain:4,ext:5,extend:[0,3,4],extens:5,extern:[3,4],extra:4,extract:4,fail:[0,4,6],failur:[4,5],fals:[0,4,5,11],fasta:11,fatal_error:4,favourit:0,featur:4,fed:[3,4],fedora:4,feed:3,feel:4,fellow:4,fetch:[4,5],few:[1,4,11],figur:4,file:[],filecheck:4,fileexist:5,fileextens:5,filenam:[],files_to_be_remov:4,fill:[3,4],find:[3,4],find_packag:4,fine:4,fire:0,first:[0,2,4],fix:[4,5],flag1:3,flag2:3,flag:[3,4,5],flush:[0,4],fno:4,folder:4,follow:[0,4,11],foo:[],forbidden:4,forg:4,forget:[0,1,4],format:4,formatt:4,forward:4,found:[0,3,4],foundat:0,frame:4,framework:4,free:4,from:[0,1,2,3,4,5,6,11],front:[0,1,4,5],full:0,fulli:4,funni:1,gap:11,gather:[3,4,7],gcc:4,gener:[0,4],generalis:4,get:[0,1,4],git:[],gitignor:4,give:[3,4],given:[0,3,5],global:8,gly:11,goal:0,goe:[1,4],good:[3,4],got:1,grain:4,grep:1,grow:11,gui:[],gzip:5,hand:[1,3],handl:11,happen:0,have:[],headach:4,header:[1,4],header_stage_path:4,headlin:4,help:[],helpactiontest:[],helper:[],henc:4,here:[0,1,3,4,5,6,11],hide:4,hierarchi:8,higher:1,highest:8,highli:1,histori:4,hit:[0,4],hold:11,home:[],homolog:7,honour:11,host:[3,4],hotfix:4,hous:4,html:[1,2,4],http:4,hydrogen:11,hyphen:0,idea:[0,2,4],ignor:11,imagin:4,imaginari:0,immedi:[0,4,8],implement:4,implicit:1,includ:[2,4,5],include_directori:4,incomplet:11,inconveni:4,incred:11,index:[4,10],indic:[],info:[],inform:11,inherit:0,init:4,initi:2,initialis:0,inlin:4,inport:[],input:[0,5],insert:11,insid:[0,3],insight:4,instal:[1,4],instead:[0,1,3,4,5],integr:[],intend:0,interest:0,interfac:4,intermedi:[],intern:[0,3,4],internet:4,interpret:6,intervent:4,introduc:[0,3,4],invok:[1,3,4,8],involv:4,item:[0,4,11],itself:[3,4],job:[],just:[0,1,4,8],keep:[0,3,4],kic:4,kind:[0,4],know:1,known:[3,5],kwarg:0,label:4,languag:3,lapack:[1,4],last:[0,3],later:[0,4],latest:1,latter:4,launcher:3,lead:5,least:[1,3,4],leav:0,left:6,legal:4,less:4,let:[0,4],level:[1,4,8],lib_stage_path:4,libexec:3,libexec_stage_path:4,librari:[3,4,8],library1:3,library2:3,life:4,like:[0,1,3,4,11],line:[],link:[1,3,4],linkcheck:[1,4],linker:3,list:[0,1,3,4,5,11],littl:[3,4],live:[3,4],load:[0,8],loadalign:11,loadpdb:11,locat:[1,3],log:[4,6],look:[4,5],loop:[4,11],loss:4,lost:[0,4],lot:[0,4,5],low:0,macro:[3,4],made:3,magic:4,mai:[0,1,3,4,11],main:[],maintain:4,major:4,make_directori:4,makefil:[1,4],malici:4,man:[1,4],manag:[3,4],mandatori:4,mani:6,manner:4,manual:[0,1,4],markup:4,master:4,match:[3,4,11],materi:[0,4],matter:3,mean:[1,3,4,5],meld:2,member:[4,11],mention:0,merg:4,mess:4,messag:[],messi:4,methionin:11,method:0,middl:4,mind:[0,4],minimalist:11,miss:[5,11],mix:3,mkdir:4,mmcif:5,mod:4,mode:0,model:[],modif:11,modifi:[2,4,11],modul:[],mol:4,mol_alg:4,moment:4,monitor:0,monolith:4,mood:[],more:[0,1,3,4,11],most:[3,4,5,11],mostli:[3,4],move:4,msg:6,msgerrorandexit:6,much:[4,11],multipl:4,must:[],name:[0,3,4,5],need:[0,1,3,4,5,8],neg:0,never:4,nevertheless:4,next:[0,4],nice:4,nobodi:0,non:4,note:[],noth:[3,4],notic:[0,3,4],now:[0,4,11],number:[0,11],obtain:11,obviou:4,off:[0,4,11],often:[4,5],onc:[0,4],onli:[0,3,4,5,8,11],onto:0,openstructur:[0,1,2,3,4,5,6,7,8,9,10,11,12],oper:4,opt:[4,5],optim:[1,4],optimis:4,option:[1,4,5],org:4,origin:4,ost:[0,1,2,3,4,5,6,7,8,9,10,11,12],ost_doc_url:4,ost_double_precis:1,ost_include_dir:4,ost_root:[1,4],other:[0,1,4,11],otherwis:[0,3,4],ouput:[],our:[3,4],out:[0,1,3,4],output:[],output_vari:4,over:[1,3,4,11],overli:4,overview:4,own:[],packag:[3,4],page:[1,4,10],pai:0,paragraph:[0,4],param:[],paramet:[0,3,5,6,8,11],parent:11,pars:5,parse_arg:5,part:[0,4],particular:4,pass:4,past:4,path:[0,1,3,4,5],path_to_chemlib:8,pdb:[5,11],peopl:4,pep:[0,1,2,3,4,5,6,7,8,9,10,11,12],peptid:11,per:[3,4,7],perfect:4,perfectli:4,perform:4,permiss:4,phosphoserin:11,phrase:4,pictur:4,piec:4,place:[0,4,6],pleas:4,plu:[4,8],pm3_csc:4,pm_action:[0,3],pm_action_init:[],pm_bin:0,point:[1,4,8],pointer:1,pop:4,popul:[1,4],posit:5,possibl:[4,11],practic:[3,4],pre:4,pre_commit:4,prefer:3,prefix:[0,3,4,5],prepar:[],prevent:[0,4],print:[0,1],privat:0,probabl:[1,3,4],problem:4,process:[0,4],produc:[0,1,3],product:[0,4],program:[3,7],project:[3,4],project_binary_dir:4,project_nam:4,promod3_unittest:[0,3,4],promod3_version_major:4,promod3_version_minor:4,promod3_version_patch:4,promod3_version_str:4,promod_gcc_45:4,promot:4,propag:[],proper:4,properli:0,properti:4,protein:11,provid:[0,1,3,4],pseudo:11,pull:[1,4],punch:0,purpos:4,push:4,put:[0,1,3,4,5],py_run:[0,3,4],pyc:0,pylint:4,pylintrc:4,pymod:4,python:[0,1,2,3,4,5,6,7,8,9,10,11,12],python_binari:4,python_doc_url:4,python_root:1,python_vers:4,qmean:[1,4],qmean_include_dir:4,qmean_root:[1,4],quickli:4,quit:4,rais:11,rare:4,rather:[4,6],raw:[],rawmodel:[],rawmodelingresult:11,read:[],readabl:4,reader:4,readi:1,real:4,realli:[0,1,4,5],reappear:4,reason:4,rebas:4,rebuild:[1,4],recent:4,recognis:[0,4],recommend:1,record:0,refer:[0,3],regist:[3,4],rel:3,relat:[3,4],relev:[1,3],rememb:0,remov:1,renam:2,renumb:11,report:[0,4,11],repositori:[0,2,3,4],requir:[1,4],resembl:4,reserv:[5,6],residu:11,resolv:4,respons:4,rest:[0,1,2,3,4,5,6,7,8,9,10,11,12],restrict:4,restrict_chain:11,restructuredtext:[0,1,2,3,4,5,6,7,8,9,10,11,12],result:[1,4,11],reus:11,review:4,reviv:4,rewrit:0,right:[0,1,4],root:[3,4],routin:0,rst1:3,rst2:3,rst:[3,4],rule:4,runact:0,runexitstatustest:0,runnabl:4,runtest:[0,4],runtimeerror:11,same:[0,1,3,4],sampl:[],save:4,savepdb:11,scenario:[],scheme:[0,4],script:[],seamlessli:4,search:[1,4,10],second:11,secondli:[],section:[0,3],see:[0,4],seem:4,select:11,selenium:11,self:[0,4],send:6,separ:[0,4],seq:[4,11],seq_alg:4,sequenc:11,serv:0,servic:4,set:[0,1,3,4,5,8,11],set_directory_properti:4,setup:[2,4],setup_boost:4,setup_compiler_flag:4,setup_stag:4,sever:[1,4],shell:[0,1,5,6],should:[],show:[0,4],shown:4,side:[4,11],sidechain:4,sidechains_pymod:4,sidechains_rst:4,sidechains_unit_test:4,silent:0,similar:[0,1,4],simplest:4,sinc:[0,1,3,4,5],singl:[3,4,11],sit:4,skip:[0,4],smallish:[1,4],smart:4,smng:2,softwar:4,sole:[0,4],solut:4,solv:4,solver:4,some:[0,1,3,4,5],somebodi:[],someth:[0,4,6],somethingtest:4,sometim:4,somewher:3,soon:4,sort:[0,3],sound:4,sourc:[0,1,3,4,5,6,8],source1:[3,4],source2:[3,4],spawn:[0,4],special:[0,1,3,4],specif:0,specifi:3,specimen:5,spell:[],spend:4,sphinx:[0,1,2,3,4,5,6,7,8,9,10,11,12],sport:4,src:4,stabl:4,stack:4,stage:[],stage_dir:4,stai:[0,4],standard:[],start:[],starter:0,stash:4,state:[0,1,4],statu:[0,4],stderr:[],stdout:[],step:4,sth:[],still:4,stop:0,store:[0,4,11],stori:4,str:[0,5,6,8],straight:4,strict:4,string:5,strip:11,structuralgaplist:11,sub:4,subclass:[],subdir:4,subject:4,submodul:4,submodule1:4,subsequ:11,subtre:[3,4],success:[5,6],suffix:5,suggest:4,suit:[0,4],supervis:0,support:[0,4,5],suppos:4,sure:4,system:[0,1,2,3,4],take:[4,11],talk:0,target:[0,1,3,4],task:4,tell:[0,4,5],templat:[0,11],template_structur:11,temporarili:4,term:4,termin:[0,5],test:[],test_:4,test_action_:0,test_action_awesom:[],test_action_do_awesom:0,test_action_help:0,test_awesome_featur:4,test_foo:3,test_sidechain:4,test_someth:4,test_submodule1:4,test_suite_:3,test_suite_your_module_run:4,test_your_modul:4,testcas:[0,4],testexit0:0,testfileexistsfals:4,testpmexist:0,testutil:[0,4],text:0,than:4,thei:[1,4],them:[3,4],therefor:4,thi:[0,1,3,4,5,7,8,11],thing:[0,1,4],think:4,thoroughli:4,those:[0,1,3,4],three:[0,3,4],through:[0,4],throughout:4,thu:5,tidi:4,tightli:4,time:[0,4,11],tini:4,togeth:4,too:4,tool:[3,5],toolbox:4,top:[1,4,8],topic:[0,4],touch:[0,4],toward:4,track:5,tradition:[5,6],treat:[4,11],tree:[0,3,4],trhough:[],tri:11,trick:[0,4],trigger:[0,3,4],tripl:5,trustworthi:4,tupl:5,turn:[0,4,5],tutori:4,two:[0,4],txt:[0,1,3,4],type:[0,5,11],uncertain:4,under:[3,4],underscor:0,understand:4,unexpect:1,unfortun:4,unit:[],unittest:[0,4],unix:4,unrecognis:5,until:[],untrack:0,unus:4,updat:4,url:4,usabl:4,user:[],userlevel:0,usr:[],usual:[0,1,3,4],utilis:[4,5],valid:4,valu:[1,5,6],vanish:4,vari:3,variabl:[0,1,4],variou:[0,1,3,4],verbos:0,veri:[0,4,5],verifi:[0,4,5],version:[1,4],version_great:4,via:[0,4,8],view:4,wai:[0,1,3,4],wait:4,walk:[0,4],want:[0,1,4,8],warn:4,watch:4,web:[1,4],well:[1,3,4,11],went:4,were:4,what:[0,1,4,5],when:[0,3,4,11],whenev:4,where:[0,4],whether:5,which:[0,1,4,6,7,11],whole:[0,4,11],why:[0,4],wild:3,wise:3,within:[1,4],without:[0,3,4,5,11],wno:4,word:3,work:[0,1,3,4],worst:4,would:[0,1,4,6],wrapper:[0,8],wrong:1,www:4,year:0,you:[0,1,3,4,5,8],your:[],your_modul:4,yourself:[1,4]},titles:["<code class=\"docutils literal\"><span class=\"pre\">test_actions.ActionTestCase</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3‘s Share Of CMake","Contributing","<code class=\"docutils literal\"><span class=\"pre\">argcheck</span></code> - Standard Tests For Command Line Arguments","<code class=\"docutils literal\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything","<code class=\"docutils literal\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality","<code class=\"docutils literal\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","Documentation For Developes","Welcome To ProMod3’s Documentation!","<code class=\"docutils literal\"><span class=\"pre\">rawmodel</span></code> - Coordinate Modeling","Documentation For Users"],titleterms:{"function":[3,6,7],"import":[],action:[0,3],actiontestcas:0,api:[0,11],argcheck:5,argument:5,bc2:[],bienert:[],bin:[],branch:4,build:1,chang:2,changelog:2,cmake:[0,1,3,4],command:5,contribut:4,coordin:11,core:7,creat:0,depend:1,develop:9,directori:4,document:[3,4,9,10,12],each:[],everyth:6,execut:0,file:5,git:4,have:0,help:[],helper:6,home:[],hook:4,how:4,indic:10,integr:0,introduct:[3,5,6],issu:4,licens:4,line:5,mainten:3,make:[0,1],messag:6,model:11,modul:[3,4],must:0,output:0,own:4,parti:4,promod3:[1,3,7,10],raw:11,rawmodel:11,releas:2,respond:[],run:[0,1],schwede:[],script:0,setcompoundschemlib:8,share:[3,6],should:[],stage:4,standard:5,start:4,stderr:[],stdout:[],structur:4,subclass:0,tabl:10,test:[0,3,4,5],test_act:0,third:4,unit:[0,3,4],user:12,welcom:10,write:4,your:4}}) \ No newline at end of file +Search.setIndex({envversion:46,filenames:["actions/index_dev","buildsystem","changelog","cmake/index","contributing","core/argcheck","core/helper","core/index","core/setcompoundschemlib","developers","index","rawmodel/index","users"],objects:{"":{"command:add_doc_dependency":[3,0,1,""],"command:add_doc_source":[3,0,1,""],"command:pm_action":[3,0,1,""],"command:promod3_unittest":[3,0,1,""],test_actions:[0,1,0,"-"]},"promod3.core.argcheck":{FileExists:[5,2,1,""],FileExtension:[5,2,1,""]},"promod3.core.helper":{MsgErrorAndExit:[6,2,1,""]},"promod3.rawmodel":{BuildRawModel:[11,2,1,""],RawModelingResult:[11,4,1,""]},"promod3.rawmodel.RawModelingResult":{gaps:[11,3,1,""],model:[11,3,1,""]},"test_actions.ActionTestCase":{RunAction:[0,5,1,""],RunExitStatusTest:[0,5,1,""],pm_action:[0,3,1,""],pm_bin:[0,3,1,""],testPMExists:[0,5,1,""]},promod3:{SetCompoundsChemlib:[8,2,1,""],core:[7,1,0,"-"],rawmodel:[11,1,0,"-"]},test_actions:{ActionTestCase:[0,4,1,""]}},objnames:{"0":["cmake","command","CMake command"],"1":["py","module","Python module"],"2":["py","function","Python function"],"3":["py","attribute","Python attribute"],"4":["py","class","Python class"],"5":["py","method","Python method"]},objtypes:{"0":"cmake:command","1":"py:module","2":"py:function","3":"py:attribute","4":"py:class","5":"py:method"},terms:{"2b1":1,"__init__":[0,4],"__main__":[0,4],"__name__":[0,4],"_opt":4,"_run":[0,3],"_xml":3,"boolean":5,"break":[3,4],"case":4,"class":[0,4,7,11],"default":[0,1,4,8],"final":[4,11],"import":[],"int":[0,5,6],"new":[0,4,11],"public":4,"return":[0,5,6,8,11],"short":4,"static":4,"switch":4,"throw":0,"true":[0,4,5,11],"try":[0,4],"var":[],"while":[0,3,4,5],abil:4,abort:4,about:[0,3,4,11],abov:[0,4],absolut:3,academ:4,accord:4,achiev:4,acid:11,acknowledg:4,across:0,action_rst:[],action_unit_test:0,actiontest:0,activ:4,actual:4,add:[0,3,4],add_argu:5,add_changelog_to_doc:4,add_custom_target:4,add_doc_depend:3,add_doc_sourc:[3,4],add_subdirectori:4,addit:[3,4,5],addition:[0,3],additional_make_clean_fil:4,admir:4,advic:4,advis:4,affect:4,after:[0,1,4],again:[1,4],ago:0,algorithm:[4,11],alias:4,align:11,all:[0,1,3,4,5,11],allow:4,almost:3,aln:11,alon:6,along:[0,4],alot:4,alreadi:[0,3,4],also:[0,1,3,4,5,11],alwai:[0,4],amino:11,ancient:8,ani:[0,3,4,8],announc:[0,4],anyth:[1,4,8],anywai:4,apart:0,api:[],appli:[4,8],applic:0,approach:4,arg:[0,4],argpars:5,argument:[],argumentpars:5,around:[0,4],ask:4,assertequ:4,assum:[0,4],atom:11,attach:[3,11],attachview:11,attent:[0,4],attr:[],attribut:4,author:4,autom:3,automat:[0,4,5],automatis:4,avail:[0,1,4,8],avoid:[4,8],awai:4,awar:4,awesom:[0,4],awesomeactiontest:4,back:[0,4],backbon:11,background:1,bar:[],base:[5,11],basi:[3,4],basic:[0,1,4,11],becaus:[1,4],been:4,befor:[0,3,4],begin:[0,4],behav:0,behind:4,bell:4,belong:[3,4],below:4,besid:[1,3],best:3,between:0,bienchen:4,bin:[],binari:[0,4],bit:[0,1,4],bla:[],blank:4,block:[],bool:[0,5],boost:[0,1,2,3,4,5,6,7,8,9,10,11,12],boost_include_dir:4,boost_root:1,branchnam:4,brew:3,briefli:4,bring:4,broken:0,bug:4,builder:1,buildrawmodel:11,built:[3,4],bunch:[0,4],bytecod:0,cach:[1,4],call:[0,1,3,4,8],calpha:11,calpha_onli:11,came:4,can:[0,1,4,5,8,11],cannot:4,captur:0,carri:[4,5],categori:3,caus:4,certain:[0,1,3,4],certainli:0,chain:[4,11],chanc:4,chapter:4,charg:4,check:[0,1,4,5],checkout:4,chemic:8,childclass:0,chmod:4,clean:[1,4],clone:4,close:4,clutter:[0,4],cmake_build_typ:4,cmake_c_compiler_vers:4,cmake_compiler_is_gnucxx:4,cmake_current_source_dir:4,cmake_cxx_compiler_vers:4,cmake_cxx_flag:4,cmake_cxx_flags_releas:4,cmake_minimum_requir:4,cmake_module_path:4,cmake_source_dir:4,cmake_support:[3,4],cmakecach:1,cmakelist:[0,1,3,4],coars:4,code:[0,1,3,4,5,6,8],codetest:[3,4],collect:6,come:[0,3,4,5],comfort:5,command:[],comment:4,commerci:4,commit:4,common:[4,5],compat:4,compil:[0,4],complain:0,complaint:4,complet:[4,11],complex:4,compon:[4,8],compound:8,compress:5,concept:4,condit:4,conf:[1,4],config:4,configur:[1,4],conflict:4,connect:[3,4],conop:4,conquer:4,consid:[3,4],consist:4,contain:[0,1,3,4,5,11],content:[4,9,10],continu:0,contribut:[],control:4,conveni:0,convent:0,convert:11,coordin:[],cope:4,copi:[3,4,11],core:[],correspond:4,could:[0,3,4,11],coupl:[0,4],cours:4,cover:[0,4,5,7],creat:[],croak:4,crucial:4,current:4,custom:4,cxx:4,dai:5,dare:3,data1:3,data2:3,data:[0,3,4],date:4,dbg:4,debug:4,decent:8,decid:4,declar:[3,4],dedic:[1,3,4],def:[0,4],defin:[0,3,8],definit:4,delet:11,deliv:0,dep:3,dependency1:3,dependency2:3,deriv:0,dervi:[],describ:[3,5],descript:4,design:[0,5],detail:[4,11],detect:5,determin:5,deuterium:11,develop:[],devot:7,dictionari:8,did:4,differ:[0,1,3,4,8],dir:4,direct:4,directori:[],dirti:0,disabl:[0,4],disable_disable_doctest:4,disable_disable_linkcheck:4,disable_doctest:[1,4],disable_document:[1,4],disable_linkcheck:[1,4],displai:5,distribut:[0,4],dive:4,diverg:4,doawesomeactiontest:0,doc:[1,3,4],doctest:[1,4],document:[],doe:[0,3,4,5,8,11],don:[1,4],done:[0,4],dont_write_bytecod:[0,4],doptim:4,dost_root:[1,4],download:1,dqmean_root:[1,4],drawback:4,driven:4,drop:4,due:11,dure:0,each:[],easi:4,easier:[0,4],easili:[3,4],echo:4,editor:0,educ:4,effect:[3,4],eigen3:4,eigen3_found:4,eigen3_include_dir:[1,4],eigen:[1,4],eigenvalu:4,eigenvector:4,either:[4,11],elabor:4,element:0,els:4,emerg:0,emploi:4,empti:[4,6],enabl:[0,5,8],end:[0,1,3,4,5,6],endif:4,enough:4,entiti:4,entityhandl:11,entri:4,enumer:4,env:4,environ:[0,4],error:[5,6],essenti:4,etc:[0,4],evalu:[3,4],even:[1,4],ever:4,everi:[0,4,11],everybodi:4,everyth:[],exactli:1,exampl:[0,1,4,11],except:4,exclud:4,exclus:[0,4],exec_program:4,execut:[],executable_output_path:4,exist:[0,3,4,5],exit:[0,5,6],exit_cod:0,exit_statu:[5,6],exot:4,expand:4,expect:0,explain:4,explan:4,ext:5,extend:[0,3,4],extens:5,extern:[3,4],extra:4,extract:4,fail:[0,4,6],failur:[4,5],fals:[0,4,5,11],fasta:11,fatal_error:4,favourit:0,featur:4,fed:[3,4],fedora:4,feed:3,feel:4,fellow:4,fetch:[4,5],few:[1,4,11],figur:4,file:[],filecheck:4,fileexist:5,fileextens:5,filenam:4,files_to_be_remov:4,fill:[3,4],find:[3,4],find_packag:4,fine:4,fire:0,first:[0,2,4],fix:[4,5],flag1:3,flag2:3,flag:[3,4,5],flush:[0,4],fno:4,folder:4,follow:[0,4,11],foo:[],forbidden:4,forg:4,forget:[0,1,4],format:4,formatt:4,forward:4,found:[0,3,4],foundat:0,frame:4,framework:4,free:4,from:[0,1,2,3,4,5,6,11],front:[0,1,4,5],full:[0,4],fulli:4,functions_specific_to_your_act:4,funni:[1,4],gap:11,gather:[3,4,7],gcc:4,gener:[0,4],generalis:4,get:[0,1,4],git:[],gitignor:4,give:[3,4],given:[0,3,5],global:8,gly:11,goal:0,goe:[1,4],good:[3,4],got:1,grain:4,grep:1,grow:11,gui:4,gzip:5,hand:[1,3],handl:11,happen:[0,4],have:[],headach:4,header:[1,4],header_stage_path:4,headlin:4,help:[],helpactiontest:[],helper:[],henc:4,here:[0,1,3,4,5,6,11],hide:4,hierarchi:8,higher:1,highest:8,highli:1,histori:4,hit:[0,4],hold:11,home:[],homolog:7,honour:11,host:[3,4],hotfix:4,hous:4,html:[1,2,4],http:4,hydrogen:11,hyphen:0,idea:[0,2,4],ignor:11,imagin:4,imaginari:0,immedi:[0,4,8],implement:4,implicit:1,includ:[2,4,5],include_directori:4,incomplet:11,inconveni:4,incred:11,index:[4,10],indic:[],info:[],inform:[4,11],inherit:0,init:4,initi:2,initialis:0,inlin:4,inport:[],input:[0,5],insert:11,insid:[0,3],insight:4,instal:[1,4],instead:[0,1,3,4,5],integr:[],intend:[0,4],interest:0,interfac:4,intermedi:4,intern:[0,3,4],internet:4,interpret:[4,6],intervent:4,introduc:[0,3,4],invok:[1,3,4,8],involv:4,item:[0,4,11],itself:[3,4],job:4,just:[0,1,4,8],keep:[0,3,4],kic:4,kind:[0,4],know:1,known:[3,5],kwarg:[0,4],label:4,languag:3,lapack:[1,4],last:[0,3],later:[0,4],latest:1,latter:4,launcher:[3,4],lead:[4,5],least:[1,3,4],leav:0,left:6,legal:4,less:4,let:[0,4],level:[1,4,8],lib_stage_path:4,libexec:[3,4],libexec_stage_path:4,librari:[3,4,8],library1:3,library2:3,life:4,like:[0,1,3,4,11],line:[],lineno:[],link:[1,3,4],linkcheck:[1,4],linker:3,list:[0,1,3,4,5,11],littl:[3,4],live:[3,4],load:[0,8],loadalign:11,loadpdb:11,locat:[1,3],log:[4,6],look:[4,5],loop:[4,11],loss:4,lost:[0,4],lot:[0,4,5],low:0,macro:[3,4],made:3,magic:4,mai:[0,1,3,4,11],main:[],mainattr:[],maintain:4,major:4,make_directori:4,makefil:[1,4],malici:4,man:[1,4],manag:[3,4],mandatori:4,mani:6,manner:4,manual:[0,1,4],markup:4,master:4,match:[3,4,11],materi:[0,4],matter:3,mean:[1,3,4,5],meld:2,member:[4,11],mention:0,merg:4,mess:4,messag:[],messi:4,methionin:11,method:0,middl:4,mind:[0,4],minimalist:11,miss:[5,11],mix:3,mkdir:4,mmcif:5,mod:4,mode:0,model:[],modif:11,modifi:[2,4,11],modul:[],mol:4,mol_alg:4,moment:4,monitor:0,monolith:4,mood:4,more:[0,1,3,4,11],most:[3,4,5,11],mostli:[3,4],move:4,msg:6,msgerrorandexit:6,much:[4,11],multipl:4,must:[],name:[0,3,4,5],need:[0,1,3,4,5,8],neg:0,never:4,nevertheless:4,next:[0,4],nice:4,nobodi:0,non:4,note:4,noth:[3,4],notic:[0,3,4],now:[0,4,11],number:[0,11],obtain:11,obviou:4,off:[0,4,11],often:[4,5],onc:[0,4],onli:[0,3,4,5,8,11],onto:0,openstructur:[0,1,2,3,4,5,6,7,8,9,10,11,12],oper:4,opt:[4,5],optim:[1,4],optimis:4,option:[1,4,5],org:4,origin:4,ost:[0,1,2,3,4,5,6,7,8,9,10,11,12],ost_doc_url:4,ost_double_precis:1,ost_include_dir:4,ost_root:[1,4],other:[0,1,4,11],otherwis:[0,3,4],ouput:[],our:[3,4],out:[0,1,3,4],output:[],output_vari:4,outsid:4,over:[1,3,4,11],overli:4,overview:4,own:[],packag:[3,4],page:[1,4,10],pai:0,paragraph:[0,4],param:[],paramet:[0,3,5,6,8,11],parent:11,pars:5,parse_arg:5,part:[0,4],particular:4,pass:4,past:4,path:[0,1,3,4,5],path_to_chemlib:8,pdb:[5,11],peopl:4,pep:[0,1,2,3,4,5,6,7,8,9,10,11,12],peptid:11,per:[3,4,7],perfect:4,perfectli:4,perform:4,permiss:4,phosphoserin:11,phrase:4,pictur:4,piec:4,place:[0,4,6],pleas:4,plu:[4,8],pm3_csc:4,pm_action:[0,3,4],pm_action_init:4,pm_bin:0,point:[1,4,8],pointer:1,pop:4,popul:[1,4],posit:5,possibl:[4,11],practic:[3,4],pre:4,pre_commit:4,prefer:3,prefix:[0,3,4,5],prepar:4,prevent:[0,4],print:[0,1],privat:0,probabl:[1,3,4],problem:4,process:[0,4],produc:[0,1,3,4],product:[0,4],program:[3,4,7],project:[3,4],project_binary_dir:4,project_nam:4,promod3_unittest:[0,3,4],promod3_version_major:4,promod3_version_minor:4,promod3_version_patch:4,promod3_version_str:4,promod_gcc_45:4,promot:4,propag:4,proper:4,properli:0,properti:4,protein:11,provid:[0,1,3,4],pseudo:11,pull:[1,4],punch:0,purpos:4,push:4,put:[0,1,3,4,5],py_run:[0,3,4],pyc:[0,4],pylint:4,pylintrc:4,pymod:4,python:[0,1,2,3,4,5,6,7,8,9,10,11,12],python_binari:4,python_doc_url:4,python_root:1,python_vers:4,qmean:[1,4],qmean_include_dir:4,qmean_root:[1,4],quickli:4,quit:4,rais:11,rare:4,rather:[4,6],raw:[],rawmodel:[],rawmodelingresult:11,read:4,readabl:4,reader:4,readi:1,real:4,realli:[0,1,4,5],reappear:4,reason:4,rebas:4,rebuild:[1,4],recent:4,recognis:[0,4],recommend:1,record:0,refer:[0,3],regist:[3,4],rel:3,relat:[3,4],relev:[1,3],rememb:0,remov:1,renam:2,renumb:11,report:[0,4,11],repositori:[0,2,3,4],requir:[1,4],resembl:4,reserv:[5,6],residu:11,resolv:4,respons:4,rest:[0,1,2,3,4,5,6,7,8,9,10,11,12],restrict:4,restrict_chain:11,restructuredtext:[0,1,2,3,4,5,6,7,8,9,10,11,12],result:[1,4,11],reus:11,review:4,reviv:4,rewrit:0,right:[0,1,4],root:[3,4],routin:0,rst1:3,rst2:3,rst:[3,4],rule:4,runact:0,runexitstatustest:[0,4],runnabl:4,runtest:[0,4],runtimeerror:11,same:[0,1,3,4],sampl:[],save:4,savepdb:11,scenario:[],scheme:[0,4],script:[],seamlessli:4,search:[1,4,10],second:11,secondli:4,section:[0,3],see:[0,4],seem:4,select:11,selenium:11,self:[0,4],send:6,separ:[0,4],seq:[4,11],seq_alg:4,sequenc:11,serv:0,servic:4,set:[0,1,3,4,5,8,11],set_directory_properti:4,setup:[2,4],setup_boost:4,setup_compiler_flag:4,setup_stag:4,sever:[1,4],shebang:4,shell:[0,1,4,5,6],should:[],show:[0,4],shown:4,side:[4,11],sidechain:4,sidechains_pymod:4,sidechains_rst:4,sidechains_unit_test:4,silent:0,similar:[0,1,4],simplest:4,sinc:[0,1,3,4,5],singl:[3,4,11],sit:4,skip:[0,4],smallish:[1,4],smart:4,smng:2,softwar:4,sole:[0,4],solut:4,solv:4,solver:4,some:[0,1,3,4,5],somebodi:[],someth:[0,4,6],somethingtest:4,sometim:4,somewher:3,soon:4,sort:[0,3],sound:4,sourc:[0,1,3,4,5,6,8],source1:[3,4],source2:[3,4],spawn:[0,4],special:[0,1,3,4],specif:0,specifi:3,specimen:5,spell:[],spend:4,sphinx:[0,1,2,3,4,5,6,7,8,9,10,11,12],sport:4,src:4,stabl:4,stack:4,stage:[],stage_dir:4,stai:[0,4],standard:[],start:[],starter:0,stash:4,state:[0,1,4],statu:[0,4],stderr:[],stdout:[],step:4,sth:[],still:4,stop:0,store:[0,4,11],stori:4,str:[0,5,6,8],straight:4,strict:4,string:5,strip:11,structuralgaplist:11,sub:4,subclass:[],subdir:4,subject:4,submodul:4,submodule1:4,subsequ:11,subtre:[3,4],success:[5,6],suffix:5,suggest:4,suit:[0,4],supervis:0,support:[0,4,5],suppos:4,sure:4,system:[0,1,2,3,4],take:[4,11],talk:0,target:[0,1,3,4],task:4,tell:[0,4,5],templat:[0,11],template_structur:11,temporarili:4,term:4,termin:[0,5],test:[],test_:4,test_action_:0,test_action_awesom:4,test_action_do_awesom:0,test_action_help:0,test_awesome_featur:4,test_foo:3,test_sidechain:4,test_someth:4,test_submodule1:4,test_suite_:3,test_suite_your_module_run:4,test_your_modul:4,testcas:[0,4],testexit0:[0,4],testfileexistsfals:4,testpmexist:0,testutil:[0,4],text:0,than:4,thei:[1,4],them:[3,4],therefor:4,thi:[0,1,3,4,5,7,8,11],thing:[0,1,4],think:4,thoroughli:4,those:[0,1,3,4],three:[0,3,4],through:[0,4],throughout:4,thu:5,tidi:4,tightli:4,time:[0,4,11],tini:4,togeth:4,too:4,tool:[3,5],toolbox:4,top:[1,4,8],topic:[0,4],touch:[0,4],toward:4,track:5,tradition:[5,6],treat:[4,11],tree:[0,3,4],trhough:[],tri:11,trick:[0,4],trigger:[0,3,4],tripl:5,trustworthi:4,tupl:5,turn:[0,4,5],tutori:4,two:[0,4],txt:[0,1,3,4],type:[0,5,11],uncertain:4,under:[3,4],underscor:0,understand:4,unexpect:1,unfortun:4,unit:[],unittest:[0,4],unix:4,unrecognis:5,until:4,untrack:0,unus:4,updat:4,url:4,usabl:4,user:[],userlevel:0,usr:4,usual:[0,1,3,4],utilis:[4,5],valid:4,valu:[1,5,6],vanish:4,vari:3,variabl:[0,1,4],variou:[0,1,3,4],verbos:0,veri:[0,4,5],verifi:[0,4,5],version:[1,4],version_great:4,via:[0,4,8],view:4,virtual:4,wai:[0,1,3,4],wait:4,walk:[0,4],want:[0,1,4,8],warn:4,watch:4,web:[1,4],well:[1,3,4,11],went:4,were:4,what:[0,1,4,5],when:[0,3,4,11],whenev:4,where:[0,4],whether:5,which:[0,1,4,6,7,11],whistl:4,whole:[0,4,11],why:[0,4],wild:3,wise:3,within:[1,4],without:[0,3,4,5,11],wno:4,word:3,work:[0,1,3,4],worst:4,would:[0,1,4,6],wrapper:[0,4,8],wrong:1,www:4,year:0,you:[0,1,3,4,5,8],your:[],your_modul:4,yourself:[1,4]},titles:["<code class=\"docutils literal\"><span class=\"pre\">test_actions.ActionTestCase</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3‘s Share Of CMake","Contributing","<code class=\"docutils literal\"><span class=\"pre\">argcheck</span></code> - Standard Tests For Command Line Arguments","<code class=\"docutils literal\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything","<code class=\"docutils literal\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality","<code class=\"docutils literal\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","Documentation For Developes","Welcome To ProMod3’s Documentation!","<code class=\"docutils literal\"><span class=\"pre\">rawmodel</span></code> - Coordinate Modeling","Documentation For Users"],titleterms:{"function":[3,6,7],"import":[],action:[0,3,4],actiontestcas:0,api:[0,11],argcheck:5,argument:5,bc2:[],bienert:[],bin:[],branch:4,build:1,chang:2,changelog:2,cmake:[0,1,3,4],command:5,contribut:4,coordin:11,core:7,creat:0,depend:1,develop:9,directori:4,document:[3,4,9,10,12],each:[],everyth:6,execut:0,file:5,git:4,have:0,help:[],helper:6,home:[],hook:4,how:4,indic:10,integr:0,introduct:[3,5,6],issu:4,licens:4,line:5,mainten:3,make:[0,1],messag:6,model:11,modul:[3,4],must:0,output:0,own:4,parti:4,promod3:[1,3,7,10],raw:11,rawmodel:11,releas:2,respond:[],run:[0,1],schwede:[],script:0,setcompoundschemlib:8,share:[3,6],should:[],stage:4,standard:5,start:4,stderr:[],stdout:[],structur:4,subclass:0,tabl:10,test:[0,3,4,5],test_act:0,third:4,unit:[0,3,4],user:12,welcom:10,write:4,your:4}}) \ No newline at end of file