diff --git a/doc/html/_modules/index.html b/doc/html/_modules/index.html index c0e209e755eca28d496cc6f426d4526b5a61b0c3..84cb5c4efc3e617d1792c89b074bac44855eede0 100644 --- a/doc/html/_modules/index.html +++ b/doc/html/_modules/index.html @@ -50,10 +50,10 @@ <li><a href="FRMRotamerGroup.html">FRMRotamerGroup</a></li> <li><a href="FragDB.html">FragDB</a></li> <li><a href="Fragger.html">Fragger</a></li> -<li><a href="FraggerScoreParameters.html">FraggerScoreParameters</a></li> <li><a href="FragmentSampler.html">FragmentSampler</a></li> <li><a href="Frame.html">Frame</a></li> <li><a href="FrameResidue.html">FrameResidue</a></li> +<li><a href="GapExtender.html">GapExtender</a></li> <li><a href="Graph.html">Graph</a></li> <li><a href="KIC.html">KIC</a></li> <li><a href="KICCloser.html">KICCloser</a></li> @@ -62,23 +62,25 @@ <li><a href="LoopCandidates.html">LoopCandidates</a></li> <li><a href="Particle.html">Particle</a></li> <li><a href="PhiPsiSampler.html">PhiPsiSampler</a></li> +<li><a href="PsipredPrediction.html">PsipredPrediction</a></li> <li><a href="RRMRotamer.html">RRMRotamer</a></li> <li><a href="RRMRotamerGroup.html">RRMRotamerGroup</a></li> <li><a href="RotamerLib.html">RotamerLib</a></li> <li><a href="RotamerLibEntry.html">RotamerLibEntry</a></li> +<li><a href="ScoringGapExtender.html">ScoringGapExtender</a></li> <li><a href="SoftSampler.html">SoftSampler</a></li> +<li><a href="StructuralGap.html">StructuralGap</a></li> <li><a href="StructureDB.html">StructureDB</a></li> <li><a href="TorsionSampler.html">TorsionSampler</a></li> <li><a href="promod3.html">promod3</a></li> <ul><li><a href="promod3/core/helper.html">promod3.core.helper</a></li> <li><a href="promod3/core/pm3argparse.html">promod3.core.pm3argparse</a></li> -<li><a href="promod3/loop.html">promod3.loop</a></li> -<ul><li><a href="promod3/loop/_loop.html">promod3.loop._loop</a></li> -</ul><li><a href="promod3/pipeline/run_engine.html">promod3.pipeline.run_engine</a></li> -<li><a href="promod3/rawmodel/_closegaps.html">promod3.rawmodel._closegaps</a></li> -<li><a href="promod3/rawmodel/_rawmodel.html">promod3.rawmodel._rawmodel</a></li> +<li><a href="promod3/loop/_loop.html">promod3.loop._loop</a></li> +<li><a href="promod3/modelling/_closegaps.html">promod3.modelling._closegaps</a></li> +<li><a href="promod3/modelling/_modelling.html">promod3.modelling._modelling</a></li> +<li><a href="promod3/modelling/_pipeline.html">promod3.modelling._pipeline</a></li> +<li><a href="promod3/sidechain/_reconstruct_sidechains.html">promod3.sidechain._reconstruct_sidechains</a></li> <li><a href="promod3/sidechain/_sidechain.html">promod3.sidechain._sidechain</a></li> -<li><a href="promod3/sidechain/reconstruct_sidechains.html">promod3.sidechain.reconstruct_sidechains</a></li> </ul><li><a href="test_actions.html">test_actions</a></li> </ul> diff --git a/doc/html/_modules/promod3/loop.html b/doc/html/_modules/promod3/loop.html deleted file mode 100644 index abcce1ead6af48fe858515a17893778ce13ad27e..0000000000000000000000000000000000000000 --- a/doc/html/_modules/promod3/loop.html +++ /dev/null @@ -1,113 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>promod3.loop — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../../_static/jquery.js"></script> - <script type="text/javascript" src="../../_static/underscore.js"></script> - <script type="text/javascript" src="../../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../../index.html" /> - <link rel="up" title="promod3" href="../promod3.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <h1>Source code for promod3.loop</h1><div class="highlight"><pre> -<span class="sd">'''__init__.py of the loop module</span> -<span class="sd">'''</span> -<span class="kn">from</span> <span class="nn">_loop</span> <span class="kn">import</span> <span class="o">*</span> - -<span class="c"># not the best style, but as long as we only have a single function in</span> -<span class="c"># __init__.py lets ignore this flaw... if there are more general functions</span> -<span class="c"># coming up, start sth like a 'base.py' and import here properly</span> -<div class="viewcode-block" id="SetupBackboneScorer"><a class="viewcode-back" href="../../loop/backbone_loop_score.html#promod3.loop.SetupBackboneScorer">[docs]</a><span class="k">def</span> <span class="nf">SetupBackboneScorer</span><span class="p">(</span><span class="n">raw_model</span><span class="p">):</span> - <span class="sd">'''Get a scorer for medling with backbones.</span> - -<span class="sd"> This one is already tailored towards a certain modelling job.</span> - -<span class="sd"> :param raw_model: The raw model this scorer should be dedicated to.</span> -<span class="sd"> :type raw_model: :class:`~promod3.rawmodel.RawModelingResult`</span> - -<span class="sd"> :return: A scorer instance.</span> -<span class="sd"> :rtype: :class:`~promod3.loop.BackboneLoopScorer`</span> -<span class="sd"> '''</span> - <span class="n">scorer</span> <span class="o">=</span> <span class="n">LoadBackboneLoopScorer</span><span class="p">()</span> - <span class="n">seqres</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> - <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">raw_model</span><span class="o">.</span><span class="n">seqres</span><span class="p">:</span> - <span class="n">seqres</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">s</span><span class="o">.</span><span class="n">GetString</span><span class="p">())</span> - <span class="n">scorer</span><span class="o">.</span><span class="n">Initialize</span><span class="p">(</span><span class="n">seqres</span><span class="p">)</span> - <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span><span class="n">raw_model</span><span class="o">.</span><span class="n">model</span><span class="p">)</span> - <span class="k">return</span> <span class="n">scorer</span></div> -</pre></div> - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"><div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../../index.html">Documentation overview</a><ul> - <li><a href="../index.html">Module code</a><ul> - <li><a href="../promod3.html">promod3</a><ul> - </ul></li> - </ul></li> - </ul></li> -</ul> -</div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/_modules/promod3/modelling/_closegaps.html b/doc/html/_modules/promod3/modelling/_closegaps.html new file mode 100644 index 0000000000000000000000000000000000000000..77cf51dc9decd7720663d5d3f95d3fe9aebea51b --- /dev/null +++ b/doc/html/_modules/promod3/modelling/_closegaps.html @@ -0,0 +1,905 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>promod3.modelling._closegaps — ProMod3 0 documentation</title> + + <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../../../', + VERSION: '0', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../../../_static/jquery.js"></script> + <script type="text/javascript" src="../../../_static/underscore.js"></script> + <script type="text/javascript" src="../../../_static/doctools.js"></script> + <link rel="top" title="ProMod3 0 documentation" href="../../../index.html" /> + <link rel="up" title="promod3" href="../../promod3.html" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> + + </head> + <body role="document"> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <h1>Source code for promod3.modelling._closegaps</h1><div class="highlight"><pre> +<span class="sd">'''High-level functionality for modelling module to close gaps. Added in the</span> +<span class="sd">__init__.py file. To be used directly by passing a ModellingHandle instance</span> +<span class="sd">as argument.</span> +<span class="sd">'''</span> + +<span class="kn">import</span> <span class="nn">ost</span> +<span class="c">#pylint: disable=no-name-in-module</span> +<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_modelling</span> <span class="k">as</span> <span class="n">modelling</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> +<span class="kn">import</span> <span class="nn">sys</span> + +<div class="viewcode-block" id="SetupBackboneScorer"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.SetupBackboneScorer">[docs]</a><span class="k">def</span> <span class="nf">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">):</span> + <span class="sd">'''Get a scorer for medling with backbones.</span> + +<span class="sd"> This one is already tailored towards a certain modelling job.</span> + +<span class="sd"> :param mhandle: The modelling handle this scorer should be dedicated to.</span> +<span class="sd"> :type mhandle: :class:`~promod3.modelling.ModellingHandle`</span> + +<span class="sd"> :return: A scorer instance.</span> +<span class="sd"> :rtype: :class:`~promod3.loop.BackboneLoopScorer`</span> +<span class="sd"> '''</span> + <span class="n">scorer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadBackboneLoopScorer</span><span class="p">()</span> + <span class="n">seqres</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">seqres</span><span class="p">:</span> + <span class="n">seqres</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">s</span><span class="o">.</span><span class="n">GetString</span><span class="p">())</span> + <span class="n">scorer</span><span class="o">.</span><span class="n">Initialize</span><span class="p">(</span><span class="n">seqres</span><span class="p">)</span> + <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">)</span> + <span class="k">return</span> <span class="n">scorer</span> +</div> +<div class="viewcode-block" id="CloseSmallDeletions"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.CloseSmallDeletions">[docs]</a><span class="k">def</span> <span class="nf">CloseSmallDeletions</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">extension_steps</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span> <span class="n">clash_thresh</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> + <span class="n">e_thresh</span><span class="o">=</span><span class="mi">200</span><span class="p">):</span> + <span class="sd">'''Close small deletions by relaxing neighbouring residues.</span> + +<span class="sd"> Small deletions in the template from the target-template alignment have a</span> +<span class="sd"> good chance to be bridged just by relaxing neighbours around a tiny gap.</span> +<span class="sd"> Before diving into the more demanding tasks in modeling, those may be closed</span> +<span class="sd"> already in the raw-model. After closure some checks are done to see if the</span> +<span class="sd"> solution is stereochemically sensible.</span> + +<span class="sd"> Closed gaps are removed from :attr:`mhandle.gaps`.</span> + +<span class="sd"> .. testcode:: closesmalldel</span> +<span class="sd"> :hide:</span> + +<span class="sd"> from promod3 import modelling</span> +<span class="sd"> from promod3 import loop</span> + +<span class="sd"> tpl = ost.io.LoadPDB('../tests/modelling/data/gly.pdb')</span> +<span class="sd"> aln = ost.seq.CreateAlignment(ost.seq.CreateSequence('trg', 'GGG-GGG'),</span> +<span class="sd"> ost.seq.CreateSequence('tpl', 'GGGAGGG'))</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> assert len(mhandle.gaps) == 1</span> +<span class="sd"> scorer = modelling.SetupBackboneScorer(mhandle)</span> +<span class="sd"> modelling.CloseSmallDeletions(mhandle, scorer)</span> +<span class="sd"> assert len(mhandle.gaps) == 0</span> + +<span class="sd"> .. doctest:: closesmalldel</span> + +<span class="sd"> import ost</span> +<span class="sd"> from promod3 import modelling</span> +<span class="sd"> from promod3 import loop</span> + +<span class="sd"> tpl = ost.io.LoadPDB('gly.pdb')</span> +<span class="sd"> aln = ost.io.LoadAlignment('seq.fasta')</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> scorer = modelling.SetupBackboneScorer(mhandle)</span> +<span class="sd"> modelling.CloseSmallDeletions(mhandle, scorer)</span> + +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> + +<span class="sd"> :param scorer: A scorer dedicated to this model.</span> +<span class="sd"> If gaps are closed, the *scorer* is updated.</span> +<span class="sd"> :type scorer: :class:`~promod3.loop.BackboneLoopScorer`</span> + +<span class="sd"> :param extension_steps: Iterations allowed for gap extension. This does not</span> +<span class="sd"> directly mean 'extended size of gap' but no. of</span> +<span class="sd"> attempts to extend. Extension works like trying to</span> +<span class="sd"> increase left, then right, then try more on the</span> +<span class="sd"> left side again...</span> +<span class="sd"> :type extension_steps: :class:`int`</span> + +<span class="sd"> :param clash_thresh: Threshold for the clash score, acceptance means being</span> +<span class="sd"> lower than this.</span> +<span class="sd"> :type clash_thresh: :class:`float`</span> + +<span class="sd"> :param e_thresh: Potential energy should be lower than this.</span> +<span class="sd"> :type e_thresh: :class:`float`</span> +<span class="sd"> '''</span> + <span class="n">current_gap_index</span> <span class="o">=</span> <span class="mi">0</span> + + <span class="c"># iterating mhandle.gaps. The number of gaps may change during the process,</span> + <span class="c"># hence we run by 'while', comparing to the updated list of gaps. If a gap</span> + <span class="c"># gets closed, it is deleted from mhandle.gaps, otherwise, current_gap_index</span> + <span class="c"># as a counter is increased.</span> + <span class="k">while</span> <span class="n">current_gap_index</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">):</span> + <span class="c"># in the end this determines if a gap was closed or not</span> + <span class="n">success</span> <span class="o">=</span> <span class="bp">False</span> + + <span class="c"># A deletion is a gap of size 0 in the template, this means that to</span> + <span class="c"># transform the template sequence into the target sequence, aa's vanish,</span> + <span class="c"># so the target sequence has gap characters, the template not.</span> + <span class="c"># If we are not looking at a deletion, do nothing.</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">]</span><span class="o">.</span><span class="n">seq</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="c"># work on a copy of the gap, if not closed in the end, no harm done</span> + <span class="n">current_gap</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">]</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> + <span class="n">current_chain</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> + <span class="n">current_chain_index</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChainIndex</span><span class="p">()</span> + + <span class="c"># Try to close gap by relaxation: by checking how far we may extend</span> + <span class="c"># the gap, we get the backbone to be stretched. If no more extension</span> + <span class="c"># is possible, break out. On first successful relaxation for an</span> + <span class="c"># extension, we successfully stop.</span> + <span class="n">extender</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">GapExtender</span><span class="p">(</span><span class="n">current_gap</span><span class="p">)</span> + <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">extension_steps</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">extender</span><span class="o">.</span><span class="n">Extend</span><span class="p">():</span> + <span class="k">break</span> + <span class="c"># gather residues for backbone relaxation, check that we get a</span> + <span class="c"># bunch of actual residues, otherwise jump to next extension</span> + <span class="n">res_list</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="n">n_stem_resnum</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> + <span class="n">c_stem_resnum</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> + <span class="n">idx</span> <span class="o">=</span> <span class="mi">0</span> + <span class="n">found_residues</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">while</span> <span class="n">n_stem_resnum</span> <span class="o">+</span> <span class="n">idx</span> <span class="o"><=</span> <span class="n">c_stem_resnum</span><span class="p">:</span> + <span class="n">res</span> <span class="o">=</span> <span class="n">current_chain</span><span class="o">.</span><span class="n">FindResidue</span><span class="p">(</span><span class="n">n_stem_resnum</span><span class="o">+</span><span class="n">idx</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">res</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> + <span class="n">found_residues</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">break</span> + <span class="n">res_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">res</span><span class="p">)</span> + <span class="n">idx</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">found_residues</span><span class="p">:</span> + <span class="k">continue</span> + <span class="c"># backbone relaxation, for now we allow 300 steps or stop at</span> + <span class="c"># max. force of 0.1</span> + <span class="n">bb_list</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneList</span><span class="p">(</span><span class="n">current_gap</span><span class="o">.</span><span class="n">full_seq</span><span class="p">,</span> <span class="n">res_list</span><span class="p">)</span> + <span class="n">bb_relaxer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneRelaxer</span><span class="p">(</span><span class="n">bb_list</span><span class="p">)</span> + <span class="n">potential_e</span> <span class="o">=</span> <span class="n">bb_relaxer</span><span class="o">.</span><span class="n">Run</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="mi">300</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span> + <span class="c"># check for clashes</span> + <span class="n">score</span> <span class="o">=</span> <span class="n">scorer</span><span class="o">.</span><span class="n">CalculateClashScore</span><span class="p">(</span>\ + <span class="n">bb_list</span><span class="p">,</span> + <span class="n">n_stem_resnum</span><span class="o">.</span><span class="n">GetNum</span><span class="p">(),</span> + <span class="n">current_chain_index</span><span class="p">)</span> + <span class="c"># if there is no clash and potential energy is low enough we</span> + <span class="c"># just solved a gap, delete it and update the scorer for the</span> + <span class="c"># changed model</span> + <span class="k">if</span> <span class="n">score</span> <span class="o"><</span> <span class="n">clash_thresh</span> <span class="ow">and</span> \ + <span class="n">potential_e</span> <span class="o"><</span> <span class="n">e_thresh</span> <span class="ow">and</span> \ + <span class="n">scorer</span><span class="o">.</span><span class="n">TransOmegaTorsions</span><span class="p">(</span><span class="n">bb_list</span><span class="p">):</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Closed: </span><span class="si">%s</span><span class="s"> by relaxing </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> \ + <span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">],</span> <span class="n">current_gap</span><span class="p">))</span> + <span class="n">chain</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> + <span class="n">bb_list</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">chain</span><span class="p">,</span> <span class="n">n_stem_resnum</span><span class="p">,</span> + <span class="n">current_chain_index</span><span class="p">)</span> + <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">n_stem_resnum</span><span class="p">,</span> + <span class="n">current_chain_index</span><span class="p">)</span> + <span class="n">modelling</span><span class="o">.</span><span class="n">ClearGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">current_gap</span><span class="p">)</span> + <span class="n">success</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">break</span> + + <span class="c"># On closed gap, it is removed so the no. of gaps goes down by itself.</span> + <span class="c"># In case of no success, counter needs to be increased to jump to the</span> + <span class="c"># next gap.</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">success</span><span class="p">:</span> + <span class="n">current_gap_index</span> <span class="o">+=</span> <span class="mi">1</span> +</div> +<div class="viewcode-block" id="MergeGapsByDistance"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.MergeGapsByDistance">[docs]</a><span class="k">def</span> <span class="nf">MergeGapsByDistance</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">distance</span><span class="p">):</span> + <span class="sd">'''Merge 2 neighbouring gaps by deleting residues in-between.</span> + +<span class="sd"> Check if two neighbouring gaps are at max. *distance* residues apart from</span> +<span class="sd"> each other. Then delete the residues and store a new gap spanning the whole</span> +<span class="sd"> stretch of original gaps and the deleted region. Original gaps will be</span> +<span class="sd"> removed. Stem residues count to the gap, so **A-A-A** has a distance of 0.</span> + +<span class="sd"> .. testcode:: mergegapsbydist</span> +<span class="sd"> :hide:</span> + +<span class="sd"> from promod3 import modelling</span> + +<span class="sd"> tpl = ost.io.LoadPDB('../tests/modelling/data/1mcg.pdb')</span> +<span class="sd"> aln = ost.seq.CreateAlignment(ost.seq.CreateSequence('trg',</span> +<span class="sd"> 'DDFAGDTKNLGHN'),</span> +<span class="sd"> ost.seq.CreateSequence('tpl',</span> +<span class="sd"> 'NN----A----LF'))</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> assert len(mhandle.gaps) == 2</span> +<span class="sd"> modelling.MergeGapsByDistance(mhandle, 0)</span> +<span class="sd"> assert len(mhandle.gaps) == 1</span> + +<span class="sd"> .. doctest:: mergegapsbydist</span> + +<span class="sd"> import ost</span> +<span class="sd"> from promod3 import modelling</span> + +<span class="sd"> tpl = ost.io.LoadPDB('1mcg.pdb')</span> +<span class="sd"> aln = ost.io.LoadAlignment('1mcg_aln.fasta')</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> modelling.MergeGapsByDistance(mhandle, 0)</span> + +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> +<span class="sd"> :param distance: The max. no. of residues between two gaps up to which</span> +<span class="sd"> merge happens.</span> +<span class="sd"> :type distance: :class:`int`</span> +<span class="sd"> '''</span> + <span class="c"># IMPORTANT: the assumption is that ModellingHandle stores gaps</span> + <span class="c"># sequentially</span> + + <span class="c"># indicate if we merged gaps and should check for more</span> + <span class="n">try_again</span> <span class="o">=</span> <span class="bp">True</span> + + <span class="c"># The number of gaps changes on merge, so we cannot just iterate them.</span> + <span class="c"># If we merged gaps, we do not know if this was the last one so try_again</span> + <span class="c"># is set to True. If no more gaps were merged, we stop by leaving try_again</span> + <span class="c"># as False.</span> + <span class="k">while</span> <span class="n">try_again</span><span class="p">:</span> + <span class="n">try_again</span> <span class="o">=</span> <span class="bp">False</span> + <span class="c"># iterate all but the last gap, since we are always looking ahead</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span> + <span class="n">current_gap</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> + <span class="n">next_gap</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> + <span class="c"># check that we are on the same chain</span> + <span class="k">if</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> <span class="o">!=</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">():</span> + <span class="k">continue</span> + <span class="c"># no merging of gaps at the end AND the start :)</span> + <span class="k">if</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">IsNTerminal</span><span class="p">()</span> <span class="ow">and</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">IsCTerminal</span><span class="p">():</span> + <span class="k">continue</span> + <span class="c"># get the distance between the gaps</span> + <span class="n">dist</span> <span class="o">=</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span> \ + <span class="o">-</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span> + <span class="k">if</span> <span class="n">dist</span> <span class="o"><=</span> <span class="n">distance</span><span class="p">:</span> + <span class="c"># gaps are close enough, combine! combine!</span> + <span class="n">modelling</span><span class="o">.</span><span class="n">MergeGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Merged gap </span><span class="si">%s</span><span class="s"> and </span><span class="si">%s</span><span class="s"> into </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> \ + <span class="p">(</span><span class="n">current_gap</span><span class="p">,</span> <span class="n">next_gap</span><span class="p">,</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span> + <span class="n">try_again</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">break</span> +</div> +<div class="viewcode-block" id="FillLoopsByDatabase"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.FillLoopsByDatabase">[docs]</a><span class="k">def</span> <span class="nf">FillLoopsByDatabase</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">fragment_db</span><span class="p">,</span> <span class="n">structure_db</span><span class="p">,</span> + <span class="n">torsion_sampler</span><span class="p">,</span> <span class="n">max_loops_to_search</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> + <span class="n">extended_search</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">use_scoring_extender</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> + <span class="n">max_db_loop_len</span><span class="o">=</span><span class="mi">12</span><span class="p">):</span> + <span class="sd">'''Try to fill up loops from a structural database.</span> + +<span class="sd"> Usually this will extend the gaps a bit to match candidates from the</span> +<span class="sd"> database. Do not expect a gap being filled in between its actual stem</span> +<span class="sd"> residues.</span> +<span class="sd"> This function cannot fill gaps at C- or N-terminal.</span> + +<span class="sd"> .. testcode:: fillloopsbydb</span> +<span class="sd"> :hide:</span> + +<span class="sd"> from promod3 import modelling</span> +<span class="sd"> from promod3 import loop</span> + +<span class="sd"> tpl = ost.io.LoadPDB('../tests/modelling/data/2dbs.pdb')</span> +<span class="sd"> aln = ost.seq.CreateAlignment(</span> +<span class="sd"> ost.seq.CreateSequence('trg', 'TLNGFTVPAGNTLV--LNPDKGATVTMA'),</span> +<span class="sd"> ost.seq.CreateSequence('tpl', 'NGGTLLIPNGTYHFLGIQMKSNVHIRVE'))</span> + + +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> assert len(mhandle.gaps) == 1</span> +<span class="sd"> scorer = modelling.SetupBackboneScorer(mhandle)</span> +<span class="sd"> modelling.FillLoopsByDatabase(mhandle, scorer, loop.LoadFragDB(),</span> +<span class="sd"> loop.LoadStructureDB(),</span> +<span class="sd"> loop.LoadTorsionSamplerCoil())</span> +<span class="sd"> assert len(mhandle.gaps) == 0</span> + +<span class="sd"> .. doctest:: fillloopsbydb</span> + +<span class="sd"> from promod3 import modelling</span> +<span class="sd"> from promod3 import loop</span> +<span class="sd"> </span> +<span class="sd"> tpl = io.LoadPDB('2dbs.pdb')</span> +<span class="sd"> aln = ost.io.LoadAlignment('2dbs.fasta')</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> </span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> scorer = modelling.SetupBackboneScorer(mhandle)</span> +<span class="sd"> modelling.FillLoopsByDatabase(mhandle, scorer, </span> +<span class="sd"> loop.LoadFragDB(),</span> +<span class="sd"> loop.LoadStructureDB(),</span> +<span class="sd"> loop.LoadTorsionSamplerCoil())</span> + +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> + +<span class="sd"> :param scorer: A scorer dedicated to this model.</span> +<span class="sd"> If gaps are closed, the *scorer* is updated.</span> +<span class="sd"> :type scorer: :class:`~promod3.loop.BackboneLoopScorer`</span> + +<span class="sd"> :param fragment_db: A fragment database coupled to the *structure_db*.</span> +<span class="sd"> :type fragment_db: :class:`~promod3.loop.FragDB`</span> + +<span class="sd"> :param structure_db: Backbone/ profile data.</span> +<span class="sd"> :type structure_db: :class:`~promod3.loop.StructureDB`</span> + +<span class="sd"> :param torsion_sampler: A sampler for torsion angles.</span> +<span class="sd"> :type torsion_sampler: :class:`~promod3.loop.TorsionSampler`</span> + +<span class="sd"> :param max_loops_to_search: Define how many candidates are 'enough' to be</span> +<span class="sd"> evaluated per loop.</span> +<span class="sd"> :type max_loops_to_search: :class:`int`</span> + +<span class="sd"> :param extended_search: True = more loop candidates are considered.</span> +<span class="sd"> The candidate search is done less precisely (see</span> +<span class="sd"> :meth:`~promod3.loop.LoopCandidates.FillFromDatabase`).</span> +<span class="sd"> The candidates are still scored and evaluated the</span> +<span class="sd"> same though (only more of them considered).</span> +<span class="sd"> :type extended_search: :class:`bool`</span> + +<span class="sd"> :param use_scoring_extender: True = use :class:`ScoringGapExtender` instead</span> +<span class="sd"> of :class:`GapExtender`.</span> +<span class="sd"> The gap is penalized according as</span> +<span class="sd"> 0.8*length + sum(helices) + sum(sheets).</span> +<span class="sd"> For the scondary-structure-penalty to work,</span> +<span class="sd"> the model-template must have the appropriate</span> +<span class="sd"> information before :func:`BuildRawModel` is</span> +<span class="sd"> called (e.g. with :mod:`ost.bindings.dssp`).</span> +<span class="sd"> :type use_scoring_extender: :class:`bool`</span> + +<span class="sd"> :param max_db_loop_len: Max. len of loops for which a database search makes</span> +<span class="sd"> sense. Should correspond to the biggest loop stored</span> +<span class="sd"> in the database.</span> +<span class="sd"> :type max_db_loop_len: :class:`int`</span> +<span class="sd"> '''</span> + <span class="c">#pylint: disable=too-many-branches,too-many-statements</span> + <span class="k">class</span> <span class="nc">_Scaler</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> + <span class="sd">'''Default values for scaling. No idea where they come from.</span> +<span class="sd"> '''</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="bp">self</span><span class="o">.</span><span class="n">means</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.91583938</span><span class="p">,</span> <span class="mf">14.27141863</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.34494736</span><span class="p">,</span> <span class="mf">0.05187852</span><span class="p">,</span> + <span class="o">-</span><span class="mf">0.42485733</span><span class="p">]</span> + <span class="bp">self</span><span class="o">.</span><span class="n">stds</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.85865826</span><span class="p">,</span> <span class="mf">22.46711872</span><span class="p">,</span> <span class="mf">0.45472138</span><span class="p">,</span> <span class="mf">0.06816782</span><span class="p">,</span> + <span class="mf">0.23995772</span><span class="p">]</span> + + <span class="k">def</span> <span class="nf">transform</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span> + <span class="sd">'''Transform features.</span> +<span class="sd"> '''</span> + <span class="k">return</span> <span class="p">[(</span><span class="n">el</span><span class="o">-</span><span class="n">mean</span><span class="p">)</span><span class="o">/</span><span class="n">std</span> <span class="k">for</span> <span class="n">el</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">std</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">means</span><span class="p">,</span> + <span class="bp">self</span><span class="o">.</span><span class="n">stds</span><span class="p">)]</span> + + <span class="k">class</span> <span class="nc">_Predictor</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> + <span class="sd">'''Default values.</span> +<span class="sd"> '''</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="bp">self</span><span class="o">.</span><span class="n">coef</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.16402122</span><span class="p">,</span> <span class="mf">0.58500018</span><span class="p">,</span> <span class="mf">0.55604793</span><span class="p">,</span> <span class="mf">0.57530581</span><span class="p">,</span> + <span class="mf">0.25479925</span><span class="p">]</span> + <span class="bp">self</span><span class="o">.</span><span class="n">intercept</span> <span class="o">=</span> <span class="mf">2.8872048</span> + + <span class="k">def</span> <span class="nf">predict</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span> + <span class="sd">'''Calculate score for features.</span> +<span class="sd"> '''</span> + <span class="n">score</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">intercept</span> + <span class="k">for</span> <span class="n">ex</span><span class="p">,</span> <span class="n">coef</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">coef</span><span class="p">):</span> + <span class="n">score</span> <span class="o">+=</span> <span class="n">ex</span><span class="o">*</span><span class="n">coef</span> + <span class="k">return</span> <span class="n">score</span> + + <span class="c"># setup</span> + <span class="n">svm_scaler</span> <span class="o">=</span> <span class="n">_Scaler</span><span class="p">()</span> + <span class="n">svm_predictor</span> <span class="o">=</span> <span class="n">_Predictor</span><span class="p">()</span> + + <span class="c"># penalties for ScoringGapExtender</span> + <span class="k">if</span> <span class="n">use_scoring_extender</span><span class="p">:</span> + <span class="n">extender_penalties</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">)):</span> + <span class="n">extender_penalties</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="mf">0.0</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">seqres</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span> + <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">residues</span><span class="p">:</span> + <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">GetSecStructure</span><span class="p">()</span><span class="o">.</span><span class="n">IsHelical</span><span class="p">()</span> <span class="ow">or</span> \ + <span class="n">r</span><span class="o">.</span><span class="n">GetSecStructure</span><span class="p">()</span><span class="o">.</span><span class="n">IsExtended</span><span class="p">():</span> + <span class="n">num</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span> + <span class="n">extender_penalties</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">num</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.0</span> + + <span class="c"># point to the current gap</span> + <span class="n">gap_idx</span> <span class="o">=</span> <span class="mi">0</span> + + <span class="c"># Iterate all gaps. Since the number of gaps may change, always compare to</span> + <span class="c"># an updated list. gap_idx is only increased when necessary, e.g. current</span> + <span class="c"># gap could not be removed.</span> + <span class="k">while</span> <span class="n">gap_idx</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="ow">and</span> <span class="n">gap_idx</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span> + + <span class="c"># keep copy of original gap</span> + <span class="n">gap_orig</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">gap_idx</span><span class="p">]</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> + <span class="c"># get chain for gap</span> + <span class="n">actual_chain_idx</span> <span class="o">=</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">GetChainIndex</span><span class="p">()</span> + <span class="n">actual_chain</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">]</span> + + <span class="c"># terminal gaps are no loops, database needs 2 stems to work on</span> + <span class="k">if</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">IsTerminal</span><span class="p">():</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="k">continue</span> + + <span class="c">##################################</span> + <span class="c"># find loop candidates</span> + <span class="c">##################################</span> + <span class="c"># min/max stem res. numbers</span> + <span class="n">min_before_resnum</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxint</span> + <span class="n">max_after_resnum</span> <span class="o">=</span> <span class="o">-</span><span class="n">sys</span><span class="o">.</span><span class="n">maxint</span><span class="o">-</span><span class="mi">1</span> + <span class="c"># list of LoopCandidates to fill gap</span> + <span class="n">actual_candidates</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="c"># list of StructuralGap corresponding to actual_candidates</span> + <span class="n">actual_extended_gaps</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="c"># number of loops found (stop if >= max_loops_to_search)</span> + <span class="n">found_loops</span> <span class="o">=</span> <span class="mi">0</span> + <span class="c"># currently extended gap and gap-extender</span> + <span class="n">actual_gap</span> <span class="o">=</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> + <span class="k">if</span> <span class="n">use_scoring_extender</span><span class="p">:</span> + <span class="n">actual_extender</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">ScoringGapExtender</span><span class="p">(</span><span class="n">actual_gap</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">,</span> + <span class="n">extender_penalties</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">])</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">actual_extender</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">GapExtender</span><span class="p">(</span><span class="n">actual_gap</span><span class="p">)</span> + <span class="n">last_gap_length</span> <span class="o">=</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">length</span> + <span class="c"># iteratively extend actual_gap until we have enough loops</span> + <span class="k">while</span> <span class="n">last_gap_length</span> <span class="o"><=</span> <span class="n">max_db_loop_len</span><span class="p">:</span> + <span class="c"># extend the gap</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">actual_extender</span><span class="o">.</span><span class="n">Extend</span><span class="p">():</span> + <span class="k">break</span> + <span class="c"># ensure both stems are valid</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">IsValid</span><span class="p">()</span> <span class="ow">or</span> \ + <span class="ow">not</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> + <span class="k">break</span> + + <span class="c"># TODO (GT): maybe ignore last_gap_length story anyways...</span> + + <span class="c"># check if we have enough and ensure that we add all candidates with same length</span> + <span class="k">if</span> <span class="n">found_loops</span> <span class="o">>=</span> <span class="n">max_loops_to_search</span> <span class="ow">and</span> \ + <span class="p">(</span><span class="n">use_scoring_extender</span> <span class="ow">or</span> <span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">length</span> <span class="o">></span> <span class="n">last_gap_length</span><span class="p">)):</span> + <span class="k">break</span> + + <span class="c"># get candidates for the current loop</span> + <span class="n">candidates</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoopCandidates</span><span class="o">.</span><span class="n">FillFromDatabase</span><span class="p">(</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="p">,</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="p">,</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">full_seq</span><span class="p">,</span> + <span class="n">fragment_db</span><span class="p">,</span> <span class="n">structure_db</span><span class="p">,</span> <span class="n">extended_search</span><span class="p">)</span> + + <span class="c"># TODO (GT): this shouldn't have to be here...</span> + <span class="n">last_gap_length</span> <span class="o">=</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">length</span> + <span class="n">min_before_resnum</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> + <span class="n">max_after_resnum</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">max_after_resnum</span><span class="p">,</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> + + <span class="c"># skip gaps with no loop candidates</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">continue</span> + <span class="c"># try to close loops</span> + <span class="k">try</span><span class="p">:</span> + <span class="c">#pylint: disable=broad-except</span> + <span class="n">candidates</span><span class="o">.</span><span class="n">ApplyCCD</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="p">,</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="p">,</span> + <span class="n">torsion_sampler</span><span class="p">)</span> + <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span> + <span class="c"># ccd requires the residues before and after the stems</span> + <span class="c"># to be valid, it could be that we extend too much...</span> + <span class="c"># just neglect if that happens, further extension will</span> + <span class="c"># fail anyway and causes the extension process to stop/</span> + <span class="k">continue</span> + <span class="c"># skip if no loop was successfully closed</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">continue</span> + + <span class="c"># update candidate lists</span> + <span class="n">actual_candidates</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> + <span class="n">actual_extended_gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">Copy</span><span class="p">())</span> + <span class="n">found_loops</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> + + <span class="c"># check result</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">actual_candidates</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Failed at loop insertion (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">))</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="k">continue</span> + + <span class="c">##################################</span> + <span class="c"># all loop candidates will be scored along the full max. extension ever</span> + <span class="c"># reached in the search before, so we build an overall frame, where we</span> + <span class="c"># insert the loops</span> + <span class="c">##################################</span> + <span class="n">frame_seq</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">seqres</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">]</span>\ + <span class="p">[</span><span class="n">min_before_resnum</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="n">max_after_resnum</span><span class="p">]</span> + <span class="n">frame_backbone_list</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneList</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)</span> + <span class="n">actual_res_num</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">mol</span><span class="o">.</span><span class="n">ResNum</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">)</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)):</span> + <span class="n">actual_res</span> <span class="o">=</span> <span class="n">actual_chain</span><span class="o">.</span><span class="n">FindResidue</span><span class="p">(</span><span class="n">actual_res_num</span><span class="p">)</span> + <span class="k">if</span> <span class="n">actual_res</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> + <span class="n">frame_backbone</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">Backbone</span><span class="p">(</span><span class="n">actual_res</span><span class="p">,</span> <span class="n">frame_seq</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">frame_backbone_list</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">frame_backbone</span> + <span class="n">actual_res_num</span> <span class="o">+=</span> <span class="mi">1</span> + + <span class="n">final_loop_candidates</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoopCandidates</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)</span> + + <span class="c">##################################</span> + <span class="c"># prepare loop candidates for scoring</span> + <span class="c">##################################</span> + <span class="n">back_mapper</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">loop_candidates</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">actual_candidates</span><span class="p">):</span> + <span class="n">start_index</span> <span class="o">=</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span>\ + <span class="o">-</span> <span class="n">min_before_resnum</span> + <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="n">loop_candidate</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">loop_candidates</span><span class="p">):</span> + <span class="n">actual_frame_backbone_list</span> <span class="o">=</span> <span class="n">frame_backbone_list</span> + <span class="n">actual_frame_backbone_list</span><span class="o">.</span><span class="n">ReplaceFragment</span><span class="p">(</span> + <span class="n">loop_candidate</span><span class="o">.</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">start_index</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">actual_frame_backbone_list</span><span class="p">)</span> + <span class="n">back_mapper</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">))</span> + + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">AttachScorer</span><span class="p">(</span><span class="n">scorer</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateClashScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateCBetaScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateTorsionScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateCBPackingScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateHBondScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + + <span class="c">##################################</span> + <span class="c"># compare scores</span> + <span class="c">##################################</span> + <span class="n">min_score</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="s">"inf"</span><span class="p">)</span> + <span class="n">optimal_candidate</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">)):</span> + <span class="n">features</span> <span class="o">=</span> <span class="p">[</span><span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">torsion_score</span><span class="p">,</span> + <span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">clash_score</span><span class="p">,</span> + <span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">packing_score</span><span class="p">,</span> + <span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">cbeta_score</span><span class="p">,</span> + <span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">hbond_score</span><span class="p">]</span> + <span class="n">scaled_features</span> <span class="o">=</span> <span class="n">svm_scaler</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">features</span><span class="p">)</span> + <span class="n">score</span> <span class="o">=</span> <span class="n">svm_predictor</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">scaled_features</span><span class="p">)</span> + <span class="k">if</span> <span class="n">score</span> <span class="o"><</span> <span class="n">min_score</span><span class="p">:</span> + <span class="n">optimal_candidate</span> <span class="o">=</span> <span class="n">i</span> + <span class="n">min_score</span> <span class="o">=</span> <span class="n">score</span> + + <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Gap </span><span class="si">%s</span><span class="s"> - </span><span class="si">%d</span><span class="s"> candidates, best (min) score </span><span class="si">%g</span><span class="s">"</span> <span class="o">%</span> + <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">),</span> <span class="n">min_score</span><span class="p">))</span> + + <span class="c">##################################</span> + <span class="c"># finally resolve loop</span> + <span class="c">##################################</span> + <span class="k">if</span> <span class="n">optimal_candidate</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> + <span class="n">idx_a</span> <span class="o">=</span> <span class="n">back_mapper</span><span class="p">[</span><span class="n">optimal_candidate</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> + <span class="n">idx_b</span> <span class="o">=</span> <span class="n">back_mapper</span><span class="p">[</span><span class="n">optimal_candidate</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> + <span class="c"># update model</span> + <span class="n">start_resnum</span> <span class="o">=</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">]</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> + <span class="n">bb_list</span> <span class="o">=</span> <span class="n">actual_candidates</span><span class="p">[</span><span class="n">idx_a</span><span class="p">][</span><span class="n">idx_b</span><span class="p">]</span><span class="o">.</span><span class="n">bb_list</span> + <span class="n">bb_list</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">],</span> + <span class="n">start_resnum</span><span class="p">,</span> <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="c"># update scorer</span> + <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">start_resnum</span><span class="p">,</span> <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Resolved </span><span class="si">%s</span><span class="s"> by filling </span><span class="si">%s</span><span class="s"> (</span><span class="si">%d</span><span class="s"> candidates)"</span> <span class="o">%</span> \ + <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">),</span> + <span class="nb">str</span><span class="p">(</span><span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">]),</span> + <span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">)))</span> + <span class="c"># will return -1 if last gap removed</span> + <span class="n">gap_idx</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">ClearGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">])</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Failed at loop insertion (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">))</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> +</div> +<div class="viewcode-block" id="FillLoopsByMonteCarlo"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.FillLoopsByMonteCarlo">[docs]</a><span class="k">def</span> <span class="nf">FillLoopsByMonteCarlo</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">,</span> <span class="n">max_loops_to_search</span><span class="o">=</span><span class="mi">6</span><span class="p">,</span> + <span class="n">max_extension</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">mc_num_loops</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">mc_steps</span><span class="o">=</span><span class="mi">5000</span><span class="p">):</span> + <span class="sd">'''Try to fill up loops with Monte Carlo sampling.</span> + +<span class="sd"> This is meant as a "last-resort" approach when it is not possible to fill</span> +<span class="sd"> the loops from the database with :func:`FillLoopsByDatabase`.</span> +<span class="sd"> This will extend the gaps (up to *max_extension* times) a bit to allow for </span> +<span class="sd"> more loop candidates to be found.</span> +<span class="sd"> This function cannot fill gaps at C- or N-terminal.</span> + +<span class="sd"> .. doctest:: fillloopsbymc</span> + +<span class="sd"> from promod3 import modelling</span> +<span class="sd"> from promod3 import loop</span> +<span class="sd"> </span> +<span class="sd"> tpl = io.LoadPDB('2dbs.pdb')</span> +<span class="sd"> aln = ost.io.LoadAlignment('2dbs.fasta')</span> +<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> +<span class="sd"> </span> +<span class="sd"> mhandle = modelling.BuildRawModel(aln)</span> +<span class="sd"> scorer = modelling.SetupBackboneScorer(mhandle)</span> +<span class="sd"> modelling.FillLoopsByMonteCarlo(mhandle, scorer, </span> +<span class="sd"> loop.LoadTorsionSamplerCoil())</span> +<span class="sd"> </span> +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> + +<span class="sd"> :param scorer: A scorer dedicated to this model.</span> +<span class="sd"> If gaps are closed, the *scorer* is updated.</span> +<span class="sd"> :type scorer: :class:`~promod3.loop.BackboneLoopScorer`</span> + +<span class="sd"> :param torsion_sampler: A sampler for torsion angles.</span> +<span class="sd"> :type torsion_sampler: :class:`~promod3.loop.TorsionSampler`</span> + +<span class="sd"> :param max_loops_to_search: Define how many candidates are 'enough' to be</span> +<span class="sd"> evaluated per loop.</span> +<span class="sd"> :type max_loops_to_search: :class:`int`</span> + +<span class="sd"> :param max_extension: Maximal number of gap extension steps to perform</span> +<span class="sd"> (see :class:`GapExtender`)</span> +<span class="sd"> :type max_extension: :class:`int`</span> + +<span class="sd"> :param mc_num_loops: Number of loop candidates to consider for each extended gap</span> +<span class="sd"> (see :meth:`~promod3.loop.LoopCandidates.FillFromMonteCarloSampler`)</span> +<span class="sd"> :type mc_num_loops: :class:`int`</span> + +<span class="sd"> :param mc_steps: Number of MC steps to perform for each loop candidate</span> +<span class="sd"> (see :meth:`~promod3.loop.LoopCandidates.FillFromMonteCarloSampler`)</span> +<span class="sd"> :type mc_steps: :class:`int`</span> +<span class="sd"> '''</span> + + <span class="c"># point to the current gap</span> + <span class="n">gap_idx</span> <span class="o">=</span> <span class="mi">0</span> + + <span class="c"># Iterate all gaps. Since the number of gaps may change, always compare to</span> + <span class="c"># an updated list. gap_idx is only increased when necessary, e.g. current</span> + <span class="c"># gap could not be removed.</span> + <span class="k">while</span> <span class="n">gap_idx</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="ow">and</span> <span class="n">gap_idx</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span> + + <span class="c"># keep copy of original gap</span> + <span class="n">gap_orig</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">gap_idx</span><span class="p">]</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> + <span class="c"># get chain for gap</span> + <span class="n">actual_chain_idx</span> <span class="o">=</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">GetChainIndex</span><span class="p">()</span> + <span class="n">actual_chain</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">]</span> + + <span class="c"># ignore terminal gaps</span> + <span class="k">if</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">IsTerminal</span><span class="p">():</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="k">continue</span> + + <span class="c">##################################</span> + <span class="c"># find loop candidates</span> + <span class="c">##################################</span> + <span class="c"># min/max stem res. numbers</span> + <span class="n">min_before_resnum</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxint</span> + <span class="n">max_after_resnum</span> <span class="o">=</span> <span class="o">-</span><span class="n">sys</span><span class="o">.</span><span class="n">maxint</span><span class="o">-</span><span class="mi">1</span> + <span class="c"># list of LoopCandidates to fill gap</span> + <span class="n">actual_candidates</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="c"># list of StructuralGap corresponding to actual_candidates</span> + <span class="n">actual_extended_gaps</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="c"># number of loops found (stop if >= max_loops_to_search)</span> + <span class="n">found_loops</span> <span class="o">=</span> <span class="mi">0</span> + <span class="c"># currently extended gap and gap-extender</span> + <span class="n">actual_gap</span> <span class="o">=</span> <span class="n">gap_orig</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> + <span class="n">actual_extender</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">GapExtender</span><span class="p">(</span><span class="n">actual_gap</span><span class="p">)</span> + + <span class="c"># make sure, that the loop seq has at least length 3</span> + <span class="k">while</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">seq</span><span class="p">)</span> <span class="o"><</span> <span class="mi">3</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">actual_extender</span><span class="o">.</span><span class="n">Extend</span><span class="p">():</span> + <span class="k">break</span> + + <span class="c"># iteratively extend actual_gap</span> + <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_extension</span><span class="p">):</span> + <span class="c"># abort if we found enough loops</span> + <span class="k">if</span> <span class="n">found_loops</span> <span class="o">>=</span> <span class="n">max_loops_to_search</span><span class="p">:</span> + <span class="k">break</span> + <span class="c"># extend the gap</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">actual_extender</span><span class="o">.</span><span class="n">Extend</span><span class="p">():</span> + <span class="k">break</span> + <span class="c"># ensure both stems are valid</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">IsValid</span><span class="p">()</span> <span class="ow">or</span> \ + <span class="ow">not</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> + <span class="k">break</span> + + <span class="c"># setup sampler, closer, scorer and cooler for MC</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">mc_sampler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">PhiPsiSampler</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">full_seq</span><span class="p">,</span> + <span class="n">torsion_sampler</span><span class="p">)</span> + + <span class="n">mc_closer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">DirtyCCDCloser</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="p">,</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="p">)</span> + + <span class="n">weights</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span> + <span class="n">weights</span><span class="p">[</span><span class="s">"cbeta"</span><span class="p">]</span><span class="o">=</span><span class="mf">5.0</span> + <span class="n">weights</span><span class="p">[</span><span class="s">"cb_packing"</span><span class="p">]</span><span class="o">=</span><span class="mf">1.0</span> + <span class="n">weights</span><span class="p">[</span><span class="s">"clash"</span><span class="p">]</span><span class="o">=</span><span class="mf">0.05</span> + <span class="n">mc_scorer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LinearScorer</span><span class="p">(</span> + <span class="n">scorer</span><span class="p">,</span> <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">(),</span> + <span class="n">actual_chain_idx</span><span class="p">,</span> <span class="n">weights</span><span class="p">)</span> + + <span class="n">mc_cooler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">ExponentialCooler</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mf">0.9</span><span class="p">)</span> + <span class="k">except</span><span class="p">:</span> + <span class="c"># something went terribly wrong...</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogError</span><span class="p">(</span><span class="s">'Failed to set up MC components'</span><span class="p">)</span> + <span class="k">raise</span> + + <span class="c"># try to get candidates for the current loop</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Firing MC for "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">actual_gap</span><span class="p">))</span> + <span class="n">candidates</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoopCandidates</span><span class="o">.</span><span class="n">FillFromMonteCarloSampler</span><span class="p">(</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">full_seq</span><span class="p">,</span> <span class="n">mc_num_loops</span><span class="p">,</span> <span class="n">mc_steps</span><span class="p">,</span> <span class="n">mc_sampler</span><span class="p">,</span> + <span class="n">mc_closer</span><span class="p">,</span> <span class="n">mc_scorer</span><span class="p">,</span> <span class="n">mc_cooler</span><span class="p">)</span> + <span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">:</span> + <span class="c"># monte carlo cannot be initialized when the stems are too far apart</span> + <span class="c"># => we need further loop extension</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Failed in setting up "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">actual_gap</span><span class="p">)</span> <span class="o">+</span> + <span class="s">" stems might be too far away..."</span><span class="p">)</span> + <span class="k">continue</span> + <span class="c"># skip if nothing found</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">continue</span> + + <span class="c"># update candidate lists</span> + <span class="n">min_before_resnum</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> + <span class="n">max_after_resnum</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">max_after_resnum</span><span class="p">,</span> + <span class="n">actual_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> + <span class="n">actual_candidates</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> + <span class="n">actual_extended_gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">actual_gap</span><span class="o">.</span><span class="n">Copy</span><span class="p">())</span> + <span class="n">found_loops</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">candidates</span><span class="p">)</span> + + <span class="c"># check result</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">actual_candidates</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Failed at loop insertion (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">))</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> + <span class="k">continue</span> + + <span class="c">##################################</span> + <span class="c"># all loop candidates will be scored along the full max. extension ever</span> + <span class="c"># reached in the search before, so we build an overall frame, where we</span> + <span class="c"># insert the loops (NOTE: identical to DB)</span> + <span class="c">##################################</span> + <span class="n">frame_seq</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">seqres</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">]</span>\ + <span class="p">[</span><span class="n">min_before_resnum</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="n">max_after_resnum</span><span class="p">]</span> + <span class="n">frame_backbone_list</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneList</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)</span> + <span class="n">actual_res_num</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">mol</span><span class="o">.</span><span class="n">ResNum</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">)</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)):</span> + <span class="n">actual_res</span> <span class="o">=</span> <span class="n">actual_chain</span><span class="o">.</span><span class="n">FindResidue</span><span class="p">(</span><span class="n">actual_res_num</span><span class="p">)</span> + <span class="k">if</span> <span class="n">actual_res</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> + <span class="n">frame_backbone</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">Backbone</span><span class="p">(</span><span class="n">actual_res</span><span class="p">,</span> <span class="n">frame_seq</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">frame_backbone_list</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">frame_backbone</span> + <span class="n">actual_res_num</span> <span class="o">+=</span> <span class="mi">1</span> + + <span class="n">final_loop_candidates</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoopCandidates</span><span class="p">(</span><span class="n">frame_seq</span><span class="p">)</span> + + <span class="c">##################################</span> + <span class="c"># prepare loop candidates for scoring (NOTE: identical to DB)</span> + <span class="c">##################################</span> + <span class="n">back_mapper</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> + <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">loop_candidates</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">actual_candidates</span><span class="p">):</span> + <span class="n">start_index</span> <span class="o">=</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span>\ + <span class="o">-</span> <span class="n">min_before_resnum</span> + <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="n">loop_candidate</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">loop_candidates</span><span class="p">):</span> + <span class="n">actual_frame_backbone_list</span> <span class="o">=</span> <span class="n">frame_backbone_list</span> + <span class="n">actual_frame_backbone_list</span><span class="o">.</span><span class="n">ReplaceFragment</span><span class="p">(</span> + <span class="n">loop_candidate</span><span class="o">.</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">start_index</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">actual_frame_backbone_list</span><span class="p">)</span> + <span class="n">back_mapper</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">))</span> + + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">AttachScorer</span><span class="p">(</span><span class="n">scorer</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateClashScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateCBetaScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateTorsionScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateCBPackingScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">final_loop_candidates</span><span class="o">.</span><span class="n">CalculateHBondScores</span><span class="p">(</span><span class="n">min_before_resnum</span><span class="p">,</span> + <span class="n">actual_chain_idx</span><span class="p">)</span> + + <span class="c">##################################</span> + <span class="c"># compare scores (NOTE: can be made identical to DB)</span> + <span class="c">##################################</span> + <span class="n">min_score</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="s">"inf"</span><span class="p">)</span> + <span class="n">optimal_candidate</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">)):</span> + <span class="n">score</span> <span class="o">=</span> <span class="mf">0.0</span> + <span class="n">score</span> <span class="o">+=</span> <span class="mf">5.0</span><span class="o">*</span><span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">cbeta_score</span> + <span class="n">score</span> <span class="o">+=</span> <span class="mf">1.0</span><span class="o">*</span><span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">packing_score</span> + <span class="n">score</span> <span class="o">+=</span> <span class="mf">0.2</span><span class="o">*</span><span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">clash_score</span> + <span class="n">score</span> <span class="o">+=</span> <span class="mf">0.004</span><span class="o">*</span><span class="n">final_loop_candidates</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">hbond_score</span> + <span class="k">if</span> <span class="n">score</span> <span class="o"><</span> <span class="n">min_score</span><span class="p">:</span> + <span class="n">optimal_candidate</span> <span class="o">=</span> <span class="n">i</span> + <span class="n">min_score</span> <span class="o">=</span> <span class="n">score</span> + + <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Gap </span><span class="si">%s</span><span class="s"> - </span><span class="si">%d</span><span class="s"> candidates, best (min) score </span><span class="si">%g</span><span class="s">"</span> <span class="o">%</span> + <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">),</span> <span class="n">min_score</span><span class="p">))</span> + + <span class="c">##################################</span> + <span class="c"># finally resolve loop (NOTE: identical to DB)</span> + <span class="c">##################################</span> + <span class="k">if</span> <span class="n">optimal_candidate</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> + <span class="n">idx_a</span> <span class="o">=</span> <span class="n">back_mapper</span><span class="p">[</span><span class="n">optimal_candidate</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> + <span class="n">idx_b</span> <span class="o">=</span> <span class="n">back_mapper</span><span class="p">[</span><span class="n">optimal_candidate</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> + <span class="c"># update model</span> + <span class="n">start_resnum</span> <span class="o">=</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">]</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> + <span class="n">bb_list</span> <span class="o">=</span> <span class="n">actual_candidates</span><span class="p">[</span><span class="n">idx_a</span><span class="p">][</span><span class="n">idx_b</span><span class="p">]</span><span class="o">.</span><span class="n">bb_list</span> + <span class="n">bb_list</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="n">actual_chain_idx</span><span class="p">],</span> + <span class="n">start_resnum</span><span class="p">,</span> <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="c"># update scorer</span> + <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">start_resnum</span><span class="p">,</span> <span class="n">actual_chain_idx</span><span class="p">)</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Resolved </span><span class="si">%s</span><span class="s"> by filling </span><span class="si">%s</span><span class="s"> (</span><span class="si">%d</span><span class="s"> candidates)"</span> <span class="o">%</span> \ + <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">),</span> + <span class="nb">str</span><span class="p">(</span><span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">]),</span> + <span class="nb">len</span><span class="p">(</span><span class="n">final_loop_candidates</span><span class="p">)))</span> + <span class="c"># will return -1 if last gap removed</span> + <span class="n">gap_idx</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">ClearGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">actual_extended_gaps</span><span class="p">[</span><span class="n">idx_a</span><span class="p">])</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Failed at loop insertion (</span><span class="si">%s</span><span class="s">)"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">gap_orig</span><span class="p">))</span> + <span class="n">gap_idx</span> <span class="o">+=</span> <span class="mi">1</span> + +<span class="c"># these methods will be exported into module</span></div> +<span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s">'SetupBackboneScorer'</span><span class="p">,</span> <span class="s">'CloseSmallDeletions'</span><span class="p">,</span> <span class="s">'MergeGapsByDistance'</span><span class="p">,</span> + <span class="s">'FillLoopsByDatabase'</span><span class="p">,</span> <span class="s">'FillLoopsByMonteCarlo'</span><span class="p">)</span> + +<span class="c"># LocalWords: modeling stereochemically param idx init</span> +<span class="c"># LocalWords: py ost pylint modelling promod CloseSmallDeletions testcode</span> +<span class="c"># LocalWords: fillloopsbydb tpl aln trg TLNGFTVPAGNTLV LNPDKGATVTMA mhandle</span> +<span class="c"># LocalWords: NGGTLLIPNGTYHFLGIQMKSNVHIRVE AttachView CreateFullView len</span> +<span class="c"># LocalWords: BuildRawModel SetupBackboneScorer FillLoopsByDatabase doctest</span> +<span class="c"># LocalWords: LoadFragDB LoadStructureDB LoadTorsionSamplerCoil dbs fasta</span> +<span class="c"># LocalWords: rtype</span> +</pre></div> + + </div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"><div class="relations"> +<h3>Related Topics</h3> +<ul> + <li><a href="../../../index.html">Documentation overview</a><ul> + <li><a href="../../index.html">Module code</a><ul> + <li><a href="../../promod3.html">promod3</a><ul> + </ul></li> + </ul></li> + </ul></li> +</ul> +</div> +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <form class="search" action="../../../search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + <p class="searchtip" style="font-size: 90%"> + Enter search terms or a module, class or function name. + </p> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015, Bienchen. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> + + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/doc/html/_modules/promod3/modelling/_pipeline.html b/doc/html/_modules/promod3/modelling/_pipeline.html new file mode 100644 index 0000000000000000000000000000000000000000..863fb5582feaa041ef2f61e8b04f4a207949b48f --- /dev/null +++ b/doc/html/_modules/promod3/modelling/_pipeline.html @@ -0,0 +1,294 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>promod3.modelling._pipeline — ProMod3 0 documentation</title> + + <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../../../', + VERSION: '0', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../../../_static/jquery.js"></script> + <script type="text/javascript" src="../../../_static/underscore.js"></script> + <script type="text/javascript" src="../../../_static/doctools.js"></script> + <link rel="top" title="ProMod3 0 documentation" href="../../../index.html" /> + <link rel="up" title="promod3" href="../../promod3.html" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> + + </head> + <body role="document"> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <h1>Source code for promod3.modelling._pipeline</h1><div class="highlight"><pre> +<span class="sd">'''High-level functionality for modelling module to build pipelines. Added in </span> +<span class="sd">the __init__.py file. To be used directly by passing a ModellingHandle instance</span> +<span class="sd">as argument.</span> +<span class="sd">'''</span> + +<span class="kn">import</span> <span class="nn">ost</span> +<span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">mol</span><span class="p">,</span><span class="n">conop</span> +<span class="kn">from</span> <span class="nn">ost.mol</span> <span class="kn">import</span> <span class="n">mm</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">sidechain</span> +<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_modelling</span> +<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_closegaps</span> + +<div class="viewcode-block" id="BuildSidechains"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.BuildSidechains">[docs]</a><span class="k">def</span> <span class="nf">BuildSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="p">):</span> + <span class="sd">'''Build sidechains for model.</span> + +<span class="sd"> This is esentially a wrapper for :func:`promod3.sidechain.Reconstruct`.</span> + +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> +<span class="sd"> '''</span> + <span class="c"># assign torsion handles (TO BE REMOVED)</span> + <span class="n">proc</span> <span class="o">=</span> <span class="n">conop</span><span class="o">.</span><span class="n">HeuristicProcessor</span><span class="p">(</span><span class="bp">False</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span> + <span class="n">proc</span><span class="o">.</span><span class="n">Process</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">)</span> + <span class="c"># reconstruct the sidechains</span> + <span class="n">sidechain</span><span class="o">.</span><span class="n">Reconstruct</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">CreateEntityFromView</span><span class="p">(</span>\ + <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"peptide=true and ele!=H"</span><span class="p">),</span> + <span class="bp">True</span><span class="p">)</span> +</div> +<div class="viewcode-block" id="MinimizeModelEnergy"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.MinimizeModelEnergy">[docs]</a><span class="k">def</span> <span class="nf">MinimizeModelEnergy</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">max_iterations</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">max_iter_sd</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> + <span class="n">max_iter_lbfgs</span><span class="o">=</span><span class="mi">20</span><span class="p">):</span> + <span class="sd">'''Minimize energy of final model using molecular mechanics.</span> + +<span class="sd"> Uses :mod:`ost.mol.mm` to perform energy minimization.</span> +<span class="sd"> It will iteratively (at most *max_iterations* times):</span> +<span class="sd"> </span> +<span class="sd"> - run up to *max_iter_sd* minimization iterations of a steepest descend method</span> +<span class="sd"> - run up to *max_iter_lbfgs* minimization iterations of a Limited-memory </span> +<span class="sd"> Broyden-Fletcher-Goldfarb-Shanno method</span> +<span class="sd"> - abort if no stereochemical problems found</span> + +<span class="sd"> The idea is that we don't want to minimize "too much". So, we iteratively</span> +<span class="sd"> minimize until there are no stereochemical problems and not more.</span> + +<span class="sd"> :param mhandle: Modelling handle on which to apply change.</span> +<span class="sd"> :type mhandle: :class:`ModellingHandle`</span> + +<span class="sd"> :param max_iterations: Max. number of iterations for SD+LBFGS</span> +<span class="sd"> :type max_iterations: :class:`int`</span> + +<span class="sd"> :param max_iter_sd: Max. number of iterations within SD method</span> +<span class="sd"> :type max_iter_sd: :class:`int`</span> + +<span class="sd"> :param max_iter_lbfgs: Max. number of iterations within LBFGS method</span> +<span class="sd"> :type max_iter_lbfgs: :class:`int`</span> +<span class="sd"> '''</span> + <span class="c"># setup mm simulation</span> + <span class="n">settings</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">Settings</span><span class="p">()</span> + <span class="n">settings</span><span class="o">.</span><span class="n">integrator</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">LangevinIntegrator</span><span class="p">(</span><span class="mi">310</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.002</span><span class="p">)</span> + <span class="n">settings</span><span class="o">.</span><span class="n">init_temperature</span> <span class="o">=</span> <span class="mi">0</span> + <span class="n">settings</span><span class="o">.</span><span class="n">forcefield</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">LoadCHARMMForcefield</span><span class="p">()</span> + <span class="n">settings</span><span class="o">.</span><span class="n">platform</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">Platform</span><span class="o">.</span><span class="n">Reference</span> + <span class="n">settings</span><span class="o">.</span><span class="n">nonbonded_method</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">NonbondedMethod</span><span class="o">.</span><span class="n">CutoffNonPeriodic</span> + <span class="n">settings</span><span class="o">.</span><span class="n">keep_ff_specific_naming</span> <span class="o">=</span> <span class="bp">False</span> + <span class="n">sim</span> <span class="o">=</span> <span class="n">mm</span><span class="o">.</span><span class="n">Simulation</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span><span class="n">settings</span><span class="p">)</span> + <span class="c"># settings to check for stereochemical problems</span> + <span class="n">clashing_distances</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">alg</span><span class="o">.</span><span class="n">DefaultClashingDistances</span><span class="p">()</span> + <span class="n">bond_stereo_chemical_param</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">alg</span><span class="o">.</span><span class="n">DefaultBondStereoChemicalParams</span><span class="p">()</span> + <span class="n">angle_stereo_chemical_param</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">alg</span><span class="o">.</span><span class="n">DefaultAngleStereoChemicalParams</span><span class="p">()</span> + + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_iterations</span><span class="p">):</span> + <span class="c"># update atoms</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Perform energy minimization (iteration </span><span class="si">%d</span><span class="s">)"</span> <span class="o">%</span> <span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">))</span> + <span class="n">sim</span><span class="o">.</span><span class="n">ApplySD</span><span class="p">(</span><span class="n">tolerance</span> <span class="o">=</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">max_iterations</span> <span class="o">=</span> <span class="n">max_iter_sd</span><span class="p">)</span> + <span class="n">sim</span><span class="o">.</span><span class="n">ApplyLBFGS</span><span class="p">(</span><span class="n">tolerance</span> <span class="o">=</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">max_iterations</span> <span class="o">=</span> <span class="n">max_iter_lbfgs</span><span class="p">)</span> + <span class="n">sim</span><span class="o">.</span><span class="n">UpdatePositions</span><span class="p">()</span> + + <span class="c"># check for stereochemical problems</span> + <span class="n">temp_ent</span> <span class="o">=</span> <span class="n">sim</span><span class="o">.</span><span class="n">GetEntity</span><span class="p">()</span> + <span class="n">temp_ent</span> <span class="o">=</span> <span class="n">temp_ent</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"aname!=OXT"</span><span class="p">)</span> + <span class="n">temp_ent_clash_filtered</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">alg</span><span class="o">.</span><span class="n">FilterClashes</span><span class="p">(</span>\ + <span class="n">temp_ent</span><span class="p">,</span> <span class="n">clashing_distances</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + <span class="c"># note: 10,10 parameters below are hard coded bond-/angle-tolerances</span> + <span class="n">temp_ent_stereo_checked</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">alg</span><span class="o">.</span><span class="n">CheckStereoChemistry</span><span class="p">(</span>\ + <span class="n">temp_ent_clash_filtered</span><span class="p">,</span> + <span class="n">bond_stereo_chemical_param</span><span class="p">,</span> + <span class="n">angle_stereo_chemical_param</span><span class="p">,</span> + <span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + <span class="c"># checks above would remove bad atoms</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">temp_ent_stereo_checked</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"ele!=H"</span><span class="p">)</span><span class="o">.</span><span class="n">atoms</span><span class="p">)</span> \ + <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">temp_ent</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"ele!=H"</span><span class="p">)</span><span class="o">.</span><span class="n">atoms</span><span class="p">):</span> + <span class="k">break</span> + + <span class="c"># update model</span> + <span class="n">simulation_ent</span> <span class="o">=</span> <span class="n">sim</span><span class="o">.</span><span class="n">GetEntity</span><span class="p">()</span> + <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">CreateEntityFromView</span><span class="p">(</span>\ + <span class="n">simulation_ent</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"peptide=true and ele!=H"</span><span class="p">),</span> + <span class="bp">True</span><span class="p">)</span> +</div> +<div class="viewcode-block" id="BuildFromRawModel"><a class="viewcode-back" href="../../../modelling/index.html#promod3.modelling.BuildFromRawModel">[docs]</a><span class="k">def</span> <span class="nf">BuildFromRawModel</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">fragment_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">structure_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> + <span class="n">torsion_sampler</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">merge_distance</span><span class="o">=</span><span class="mi">4</span><span class="p">):</span> + <span class="sd">'''Build a model starting with a raw model (see :func:`BuildRawModel`).</span> +<span class="sd"> </span> +<span class="sd"> This function will:</span> + +<span class="sd"> #. close small deletions and remove terminal gaps</span> +<span class="sd"> (see :func:`CloseSmallDeletions` and :func:`RemoveTerminalGaps`)</span> +<span class="sd"> #. iteratively: merge gaps of distance i and fill loops by database</span> +<span class="sd"> (i from 0 to *merge_distance*-1)</span> +<span class="sd"> (see :func:`MergeGapsByDistance` and :func:`FillLoopsByDatabase`)</span> +<span class="sd"> #. close remaining gaps by Monte Carlo</span> +<span class="sd"> (see :func:`FillLoopsByMonteCarlo`)</span> +<span class="sd"> #. build sidechains</span> +<span class="sd"> (see :func:`BuildSidechains`)</span> +<span class="sd"> #. minimize energy for the final model, which is then returned</span> +<span class="sd"> (see :func:`MinimizeModelEnergy`)</span> + +<span class="sd"> If function fails to close all gaps, it will produce a warning and return</span> +<span class="sd"> an incomplete model.</span> + +<span class="sd"> :param mhandle: The prepared template coordinates loaded with the input</span> +<span class="sd"> alignment.</span> +<span class="sd"> :type mhandle: :class:`~promod3.modelling.ModellingHandle`</span> + +<span class="sd"> :param fragment_db: A fragment database coupled to the *structure_db*.</span> +<span class="sd"> Loads the default one shipped with |project| if omitted.</span> +<span class="sd"> :type fragment_db: :class:`~promod3.loop.FragDB`</span> + +<span class="sd"> :param structure_db: The structural database. Loads the default one shipped</span> +<span class="sd"> with |project| if omitted.</span> +<span class="sd"> :type structure_db: :class:`~promod3.loop.StructureDB`</span> + +<span class="sd"> :param torsion_sampler: A sampler for torsion angles. Loads the default one</span> +<span class="sd"> shipped with |project| if omitted.</span> +<span class="sd"> :type torsion_sampler: :class:`~promod3.loop.TorsionSampler`</span> + +<span class="sd"> :param merge_distance: Maximal distance up to which 2 gaps are merged. The</span> +<span class="sd"> gaps need to be immediate neighbours, distance is</span> +<span class="sd"> counted by residues, including stems. So **A-A-A**</span> +<span class="sd"> have a distance of 0 and therefore merging is only</span> +<span class="sd"> applied until *merge_distance* - 1.</span> +<span class="sd"> :type merge_distance: :class:`int`</span> + +<span class="sd"> :return: Delivers the model as an |ost_s| entity.</span> +<span class="sd"> :rtype: :class:`Entity <ost.mol.EntityHandle>`</span> +<span class="sd"> '''</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Starting modelling based on a raw model."</span><span class="p">)</span> + + <span class="c"># a bit of setup</span> + <span class="k">if</span> <span class="n">fragment_db</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">fragment_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadFragDB</span><span class="p">()</span> + <span class="k">if</span> <span class="n">structure_db</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">structure_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadStructureDB</span><span class="p">()</span> + <span class="k">if</span> <span class="n">torsion_sampler</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">torsion_sampler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">()</span> + + <span class="n">scorer</span> <span class="o">=</span> <span class="n">_closegaps</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> + + <span class="c"># step 1a: close small deletions in the raw model</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Trying to close small deletions (no. of gaps: </span><span class="si">%d</span><span class="s">)."</span> <span class="o">%</span> \ + <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">))</span> + <span class="n">_closegaps</span><span class="o">.</span><span class="n">CloseSmallDeletions</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">)</span> + + <span class="c"># step 1b: remove terminal gaps since we cannot deal with them below</span> + <span class="n">num_gaps_removed</span> <span class="o">=</span> <span class="n">_modelling</span><span class="o">.</span><span class="n">RemoveTerminalGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Removed </span><span class="si">%d</span><span class="s"> terminal gaps."</span> <span class="o">%</span> <span class="n">num_gaps_removed</span><span class="p">)</span> + + <span class="c"># step 2: simple handling of further gaps: merge, then fill from db</span> + <span class="k">for</span> <span class="n">distance</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">merge_distance</span><span class="p">):</span> + <span class="c"># step 2a: Combine gaps living close to each other</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Trying to merge </span><span class="si">%d</span><span class="s"> gap(s) with distance </span><span class="si">%d</span><span class="s">."</span> <span class="o">%</span> \ + <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">),</span> <span class="n">distance</span><span class="p">))</span> + <span class="n">_closegaps</span><span class="o">.</span><span class="n">MergeGapsByDistance</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">distance</span><span class="p">)</span> + <span class="c"># step 2b: fit loops into the model</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Trying to fill </span><span class="si">%d</span><span class="s"> gap(s) by database."</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">))</span> + <span class="n">_closegaps</span><span class="o">.</span><span class="n">FillLoopsByDatabase</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">fragment_db</span><span class="p">,</span> + <span class="n">structure_db</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">)</span> + <span class="c"># check if we can abort</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"</span><span class="si">%d</span><span class="s"> gap(s) left after database search."</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">))</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">break</span> + + <span class="c"># step 3: close remaining gaps by Monte Carlo</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Trying to fill </span><span class="si">%d</span><span class="s"> gap(s) by Monte Carlo."</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">))</span> + <span class="n">_closegaps</span><span class="o">.</span><span class="n">FillLoopsByMonteCarlo</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">)</span> + + <span class="c"># check if we succeeded</span> + <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogWarning</span><span class="p">(</span><span class="s">"Failed to close </span><span class="si">%d</span><span class="s"> gap(s). Returning incomplete model!"</span> <span class="o">%</span> \ + <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">))</span> + + <span class="c"># step 4: build sidechains</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Rebuilding sidechains."</span><span class="p">)</span> + <span class="n">BuildSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> + + <span class="c"># step 5: minimize energy of final model using molecular mechanics</span> + <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s">"Minimize energy."</span><span class="p">)</span> + <span class="n">MinimizeModelEnergy</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> + + <span class="c"># done</span> + <span class="k">return</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span> + +<span class="c"># these methods will be exported into module</span></div> +<span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s">'BuildFromRawModel'</span><span class="p">,</span> <span class="s">'BuildSidechains'</span><span class="p">,</span> <span class="s">'MinimizeModelEnergy'</span><span class="p">,)</span> +</pre></div> + + </div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"><div class="relations"> +<h3>Related Topics</h3> +<ul> + <li><a href="../../../index.html">Documentation overview</a><ul> + <li><a href="../../index.html">Module code</a><ul> + <li><a href="../../promod3.html">promod3</a><ul> + </ul></li> + </ul></li> + </ul></li> +</ul> +</div> +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <form class="search" action="../../../search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + <p class="searchtip" style="font-size: 90%"> + Enter search terms or a module, class or function name. + </p> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015, Bienchen. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> + + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/doc/html/_modules/promod3/pipeline/run_engine.html b/doc/html/_modules/promod3/pipeline/run_engine.html deleted file mode 100644 index 7eb11f3bbb1355af9fd8a1a9c0da63e5d57f8774..0000000000000000000000000000000000000000 --- a/doc/html/_modules/promod3/pipeline/run_engine.html +++ /dev/null @@ -1,145 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>promod3.pipeline.run_engine — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../../../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../../../_static/jquery.js"></script> - <script type="text/javascript" src="../../../_static/underscore.js"></script> - <script type="text/javascript" src="../../../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../../../index.html" /> - <link rel="up" title="promod3" href="../../promod3.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <h1>Source code for promod3.pipeline.run_engine</h1><div class="highlight"><pre> -<span class="sd">'''Everything sticked together to build models using ProMod3</span> -<span class="sd">'''</span> - -<span class="kn">import</span> <span class="nn">ost</span> - -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> - -<div class="viewcode-block" id="BuildFromRawModel"><a class="viewcode-back" href="../../../pipeline/run_engine.html#promod3.pipeline.run_engine.BuildFromRawModel">[docs]</a><span class="k">def</span> <span class="nf">BuildFromRawModel</span><span class="p">(</span><span class="n">raw_model</span><span class="p">,</span> <span class="n">structure_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">fragment_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> - <span class="n">torsion_sampler</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> - <span class="sd">'''Build a model starting with a</span> -<span class="sd"> :class:`RawModel <promod3.rawmodel.RawModelingResult>`.</span> - -<span class="sd"> :param raw_model: The prepared template coordinates loaded with the input</span> -<span class="sd"> alignment.</span> -<span class="sd"> :type raw_model: :class:`~promod3.rawmodel.RawModelingResult`</span> - -<span class="sd"> :param structure_db: The structural database. Loads the default one shipped</span> -<span class="sd"> with |project| if omitted.</span> -<span class="sd"> :type structure_db: :class:`~promod3.loop.StructureDB`</span> - -<span class="sd"> :param fragment_db: A fragment database coupled to the *structure_db*.</span> -<span class="sd"> Loads the default one shipped with |project| if omitted.</span> -<span class="sd"> :type fragment_db: :class:`~promod3.loop.FragDB`</span> - -<span class="sd"> :param torsion_sampler: A sampler for torsion angles. Loads the default one</span> -<span class="sd"> shipped with |project| if omitted.</span> -<span class="sd"> :type torsion_sampler: :class:`~promod3.loop.TorsionSampler`</span> - -<span class="sd"> EXAMPLE: obtain raw model, build model</span> - -<span class="sd"> :return: Delivers the model as an |ost_s| entity.</span> -<span class="sd"> :rtype: :class:`Entity <ost.mol.EntityHandle>`</span> -<span class="sd"> '''</span> - <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Starting modelling based on a raw model"</span><span class="p">)</span> - - <span class="c"># a bit of setup</span> - <span class="k">if</span> <span class="n">structure_db</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">structure_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadStructureDB</span><span class="p">()</span> - <span class="k">if</span> <span class="n">fragment_db</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">fragment_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadFragDB</span><span class="p">()</span> - <span class="k">if</span> <span class="n">torsion_sampler</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">torsion_sampler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">()</span> - - <span class="n">scorer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">raw_model</span><span class="p">)</span> - - <span class="c"># step 1: close small deletions in the raw model</span> - <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Trying to close small deletions."</span><span class="p">)</span> - <span class="n">raw_model</span><span class="o">.</span><span class="n">CloseSmallDeletions</span><span class="p">(</span><span class="n">scorer</span><span class="p">)</span> - - <span class="k">return</span> <span class="n">raw_model</span><span class="o">.</span><span class="n">model</span> -</div> -<span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s">'BuildProMod3Model'</span><span class="p">)</span> - -<span class="c"># LocalWords: BuildProMod ProMod sticked ost promod BuildFromRawModel param</span> -<span class="c"># LocalWords: RawModel rtype bool LoadStructureDB LogVerbose LoadFragDB</span> -<span class="c"># LocalWords: LoadTorsionSamplerCoil SetupBackboneScorer</span> -<span class="c"># LocalWords: CloseSmallDeletions</span> -</pre></div> - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"><div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../../../index.html">Documentation overview</a><ul> - <li><a href="../../index.html">Module code</a><ul> - <li><a href="../../promod3.html">promod3</a><ul> - </ul></li> - </ul></li> - </ul></li> -</ul> -</div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../../../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/_modules/promod3/rawmodel/_closegaps.html b/doc/html/_modules/promod3/rawmodel/_closegaps.html deleted file mode 100644 index cbfe4e58fa98d21e678c8f838eea70cac3f8b7a1..0000000000000000000000000000000000000000 --- a/doc/html/_modules/promod3/rawmodel/_closegaps.html +++ /dev/null @@ -1,322 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>promod3.rawmodel._closegaps — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../../../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../../../_static/jquery.js"></script> - <script type="text/javascript" src="../../../_static/underscore.js"></script> - <script type="text/javascript" src="../../../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../../../index.html" /> - <link rel="up" title="promod3" href="../../promod3.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <h1>Source code for promod3.rawmodel._closegaps</h1><div class="highlight"><pre> -<span class="sd">'''Functions to be 'injected' into the RawModellingResult class in the</span> -<span class="sd">__init__.py file. Do not use directly, they belong to the RawModellingResult</span> -<span class="sd">class and are to be called as class method, for instances of this class.</span> -<span class="sd">'''</span> - -<span class="kn">import</span> <span class="nn">ost</span> -<span class="c">#pylint: disable=no-name-in-module</span> -<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_rawmodel</span> <span class="k">as</span> <span class="n">rawmodel</span> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> - -<span class="k">def</span> <span class="nf">_CloseSmallDeletions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">extension_steps</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span> <span class="n">clash_thresh</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> - <span class="n">e_thresh</span><span class="o">=</span><span class="mi">200</span><span class="p">):</span> - <span class="sd">'''Close small deletions by relaxing neighbouring residues.</span> - -<span class="sd"> Small deletions in the template from the target-template alignment have a</span> -<span class="sd"> good chance to be bridged just by relaxing neighbours around a tiny gap.</span> -<span class="sd"> Before diving into the more demanding tasks in modeling, those may be closed</span> -<span class="sd"> already in the raw-model. After closure some checks are done to see if the</span> -<span class="sd"> solution is stereochemically sensible.</span> - -<span class="sd"> Closed gaps are removed from :attr:`self.gaps`.</span> - -<span class="sd"> .. testcode:: closesmalldel</span> -<span class="sd"> :hide:</span> - -<span class="sd"> from promod3 import rawmodel</span> -<span class="sd"> from promod3 import loop</span> - -<span class="sd"> tpl = ost.io.LoadPDB('../tests/rawmodel/data/raw-modeling/gly.pdb')</span> -<span class="sd"> aln = ost.seq.CreateAlignment(ost.seq.CreateSequence('trg', 'GGG-GGG'),</span> -<span class="sd"> ost.seq.CreateSequence('tpl', 'GGGAGGG'))</span> -<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> -<span class="sd"> rmodel = rawmodel.BuildRawModel(aln)</span> -<span class="sd"> assert len(rmodel.gaps) == 1</span> -<span class="sd"> scorer = loop.SetupBackboneScorer(rmodel)</span> -<span class="sd"> rmodel.CloseSmallDeletions(scorer)</span> -<span class="sd"> assert len(rmodel.gaps) == 0</span> - -<span class="sd"> .. doctest:: closesmalldel</span> - -<span class="sd"> import ost</span> -<span class="sd"> from promod3 import rawmodel</span> -<span class="sd"> from promod3 import loop</span> - -<span class="sd"> tpl = ost.io.LoadPDB('gly.pdb')</span> -<span class="sd"> aln = ost.io.LoadAlignment('seq.fasta')</span> -<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> -<span class="sd"> rmodel = rawmodel.BuildRawModel(aln)</span> -<span class="sd"> scorer = loop.SetupBackboneScorer(rmodel)</span> -<span class="sd"> rmodel.CloseSmallDeletions(scorer)</span> - -<span class="sd"> :param scorer: A scorer dedicated to this raw model.</span> -<span class="sd"> :type scorer: :class:`~promod3.loop.BackboneLoopScorer`</span> - -<span class="sd"> :param extension_steps: Iterations allowed for gap extension. This does not</span> -<span class="sd"> directly mean 'extended size of gap' but no. of</span> -<span class="sd"> attempts to extend. Extension works like trying to</span> -<span class="sd"> increase left, then right, then try more on the</span> -<span class="sd"> left side again...</span> -<span class="sd"> :type extension_steps: :class:`int`</span> - -<span class="sd"> :param clash_thresh: Threshold for the clash score, acceptance means being</span> -<span class="sd"> lower than this.</span> -<span class="sd"> :type clash_thresh: :class:`float`</span> - -<span class="sd"> :param e_thresh: Potential energy should be lower than this.</span> -<span class="sd"> :type e_thresh: :class:`float`</span> - -<span class="sd"> :return: If gaps are deleted, the scorer needs to be updated and is</span> -<span class="sd"> returned.</span> -<span class="sd"> :rtype: :class:`~promod3.loop.BackboneLoopScorer`</span> -<span class="sd"> '''</span> - <span class="n">current_gap_index</span> <span class="o">=</span> <span class="mi">0</span> - - <span class="c"># iterating self.gaps. The number of gaps may change during the process,</span> - <span class="c"># hence we run by 'while', breaking out once we've seen all gaps. If a gap</span> - <span class="c"># gets closed, it is deleted from self.gaps, otherwise, current_gap_index</span> - <span class="c"># as a counter is increased.</span> - <span class="k">while</span> <span class="bp">True</span><span class="p">:</span> - <span class="c"># check if all gaps were visited</span> - <span class="k">if</span> <span class="n">current_gap_index</span> <span class="o">>=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">):</span> - <span class="k">break</span> - - <span class="c"># in the end this determines if a gap was closed or not</span> - <span class="n">success</span> <span class="o">=</span> <span class="bp">False</span> - - <span class="c"># A deletion is a gap of size 0 in the template, this means that to</span> - <span class="c"># transform the template sequence into the target sequence, aa's vanish,</span> - <span class="c"># so the target sequence has gap caracters, the template not.</span> - <span class="c"># If we are not looking at a deletion, do nothing.</span> - <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">]</span><span class="o">.</span><span class="n">seq</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> - <span class="c"># work on a copy of the gap, if not closed in the end, no harm done</span> - <span class="n">current_gap</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">]</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span> - <span class="n">current_chain</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> - <span class="n">current_chain_index</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChainIndex</span><span class="p">()</span> - - <span class="c"># Try to close gap by relaxation: by checking how far we may extend</span> - <span class="c"># the gap, we get the backbone to be stretched. If no more extension</span> - <span class="c"># is possible, break out. On first successful relaxation for an</span> - <span class="c"># extension, we successfully stop.</span> - <span class="n">extender</span> <span class="o">=</span> <span class="n">rawmodel</span><span class="o">.</span><span class="n">GapExtender</span><span class="p">(</span><span class="n">current_gap</span><span class="p">)</span> - <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">extension_steps</span><span class="p">):</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">extender</span><span class="o">.</span><span class="n">Extend</span><span class="p">():</span> - <span class="k">break</span> - <span class="c"># gather residues for backbone relaxation, check that we get a</span> - <span class="c"># bunch of actual residues, otherwise jump to next extension</span> - <span class="n">res_list</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span> - <span class="n">current_resnum</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> - <span class="n">after_resnum</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span> - <span class="n">found_residues</span> <span class="o">=</span> <span class="bp">True</span> - <span class="k">while</span> <span class="bp">True</span><span class="p">:</span> - <span class="k">if</span> <span class="n">current_resnum</span> <span class="o">></span> <span class="n">after_resnum</span><span class="p">:</span> - <span class="k">break</span> - <span class="n">res</span> <span class="o">=</span> <span class="n">current_chain</span><span class="o">.</span><span class="n">FindResidue</span><span class="p">(</span><span class="n">current_resnum</span><span class="p">)</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">res</span><span class="o">.</span><span class="n">IsValid</span><span class="p">():</span> - <span class="n">found_residues</span> <span class="o">=</span> <span class="bp">False</span> - <span class="k">break</span> - <span class="n">res_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">res</span><span class="p">)</span> - <span class="n">current_resnum</span> <span class="o">+=</span> <span class="mi">1</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">found_residues</span><span class="p">:</span> - <span class="k">continue</span> - <span class="c"># backbone relaxation, for now we allow 300 steps or stop at</span> - <span class="c"># max. force of 0.1</span> - <span class="n">bb_list</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneList</span><span class="p">(</span><span class="n">current_gap</span><span class="o">.</span><span class="n">full_seq</span><span class="p">,</span> <span class="n">res_list</span><span class="p">)</span> - <span class="n">bb_relaxer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">BackboneRelaxer</span><span class="p">(</span><span class="n">bb_list</span><span class="p">)</span> - <span class="n">potential_e</span> <span class="o">=</span> <span class="n">bb_relaxer</span><span class="o">.</span><span class="n">Run</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="mi">300</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span> - <span class="c"># check for clashes</span> - <span class="n">score</span> <span class="o">=</span> <span class="n">scorer</span><span class="o">.</span><span class="n">CalculateClashScore</span><span class="p">(</span>\ - <span class="n">bb_list</span><span class="p">,</span> - <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">(),</span> - <span class="n">current_chain_index</span><span class="p">)</span> - <span class="c"># if there is no clash and potential energy is low enough we</span> - <span class="c"># just solved a gap, delete it and update the scorer for the</span> - <span class="c"># changed model</span> - <span class="k">if</span> <span class="n">score</span> <span class="o"><</span> <span class="n">clash_thresh</span> <span class="ow">and</span> \ - <span class="n">potential_e</span> <span class="o"><</span> <span class="n">e_thresh</span> <span class="ow">and</span> \ - <span class="n">scorer</span><span class="o">.</span><span class="n">TransOmegaTorsions</span><span class="p">(</span><span class="n">bb_list</span><span class="p">):</span> - <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Closed: </span><span class="si">%s</span><span class="s"> by relaxing </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> \ - <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">current_gap_index</span><span class="p">],</span> <span class="n">current_gap</span><span class="p">))</span> - <span class="n">chain</span> <span class="o">=</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> - <span class="n">bb_list</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">chain</span><span class="p">,</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">(),</span> - <span class="n">current_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> - <span class="n">scorer</span><span class="o">.</span><span class="n">SetEnvironment</span><span class="p">(</span>\ - <span class="n">bb_list</span><span class="p">,</span> - <span class="n">current_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">())</span> - <span class="bp">self</span><span class="o">.</span><span class="n">ClearGaps</span><span class="p">(</span><span class="n">current_gap</span><span class="p">)</span> - <span class="n">success</span> <span class="o">=</span> <span class="bp">True</span> - <span class="k">break</span> - <span class="c"># On closed gap, it is removed so the no. of gaps goes down by itself.</span> - <span class="c"># In case of no success, counter needs to be increased to jump to the</span> - <span class="c"># next gap.</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">success</span><span class="p">:</span> - <span class="n">current_gap_index</span> <span class="o">+=</span> <span class="mi">1</span> - - <span class="k">return</span> <span class="n">scorer</span> - -<span class="k">def</span> <span class="nf">_MergeGapsByDistance</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">distance</span><span class="p">):</span> - <span class="sd">'''Merge 2 neighbouring gaps by deleting residues in-between.</span> - -<span class="sd"> Check if two neighbouring gaps are at max. *distance* residues apart from</span> -<span class="sd"> each other. Then delete the residues and store a new gap spanning the whole</span> -<span class="sd"> stretch of original gaps and the deleted region. Original gaps will be</span> -<span class="sd"> removed. Stem residues count to the gap, so **A-A-A** has a distance of 0.</span> - -<span class="sd"> .. testcode:: mergegapsbydist</span> -<span class="sd"> :hide:</span> - -<span class="sd"> from promod3 import rawmodel</span> - -<span class="sd"> tpl = ost.io.LoadPDB('../tests/rawmodel/data/raw-modeling/1mcg.pdb')</span> -<span class="sd"> aln = ost.seq.CreateAlignment(ost.seq.CreateSequence('trg',</span> -<span class="sd"> 'DDFAGDTKNLGHN'),</span> -<span class="sd"> ost.seq.CreateSequence('tpl',</span> -<span class="sd"> 'NN----A----LF'))</span> -<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> -<span class="sd"> rmodel = rawmodel.BuildRawModel(aln)</span> -<span class="sd"> assert len(rmodel.gaps) == 2</span> -<span class="sd"> rmodel.MergeGapsByDistance(0)</span> -<span class="sd"> assert len(rmodel.gaps) == 1</span> - -<span class="sd"> .. doctest:: mergegapsbydist</span> - -<span class="sd"> import ost</span> -<span class="sd"> from promod3 import rawmodel</span> - -<span class="sd"> tpl = ost.io.LoadPDB('1mcg.pdb')</span> -<span class="sd"> aln = ost.io.LoadAlignment('1mcg_aln.fasta')</span> -<span class="sd"> aln.AttachView(1, tpl.CreateFullView())</span> -<span class="sd"> rmodel = rawmodel.BuildRawModel(aln)</span> -<span class="sd"> rmodel.MergeGapsByDistance(0)</span> - -<span class="sd"> :param distance: The max. no. of residues between two gaps up to which</span> -<span class="sd"> merge happens.</span> -<span class="sd"> :type distance: :class:`int`</span> - -<span class="sd"> :return: Nothing.</span> -<span class="sd"> '''</span> - <span class="c"># IMPORTANT: the assumption is that RawModelingResult stores gaps</span> - <span class="c"># sequentially</span> - - <span class="c"># indicate if we merged gaps and should check for more</span> - <span class="n">try_again</span> <span class="o">=</span> <span class="bp">True</span> - - <span class="c"># The number of gaps changes on merge, so we cannot just iterate them.</span> - <span class="c"># If we merged gaps, we do not know if this was the last one so try_again</span> - <span class="c"># is set to True. If no more gaps were merged, we stop by leaving try_again</span> - <span class="c"># as False.</span> - <span class="k">while</span> <span class="n">try_again</span><span class="p">:</span> - <span class="n">try_again</span> <span class="o">=</span> <span class="bp">False</span> - <span class="c"># iterate all but the last gap, since we are always looking ahead</span> - <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span> - <span class="n">current_gap</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> - <span class="n">next_gap</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> - <span class="c"># check that we are on the same chain</span> - <span class="k">if</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">()</span> <span class="o">!=</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">GetChain</span><span class="p">():</span> - <span class="k">continue</span> - <span class="c"># no merging of gaps at the end AND the start :)</span> - <span class="k">if</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">IsNTerminal</span><span class="p">()</span> <span class="ow">and</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">IsCTerminal</span><span class="p">():</span> - <span class="k">continue</span> - <span class="c"># get the distance between the gaps</span> - <span class="n">dist</span> <span class="o">=</span> <span class="n">next_gap</span><span class="o">.</span><span class="n">before</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span> \ - <span class="o">-</span> <span class="n">current_gap</span><span class="o">.</span><span class="n">after</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">()</span><span class="o">.</span><span class="n">GetNum</span><span class="p">()</span> - <span class="k">if</span> <span class="n">dist</span> <span class="o"><=</span> <span class="n">distance</span><span class="p">:</span> - <span class="c"># gaps are close enough, combine! combine!</span> - <span class="bp">self</span><span class="o">.</span><span class="n">MergeGaps</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> - <span class="n">ost</span><span class="o">.</span><span class="n">LogVerbose</span><span class="p">(</span><span class="s">"Merged gap </span><span class="si">%s</span><span class="s"> and </span><span class="si">%s</span><span class="s"> into </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> \ - <span class="p">(</span><span class="n">current_gap</span><span class="p">,</span> <span class="n">next_gap</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">gaps</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span> - <span class="n">try_again</span> <span class="o">=</span> <span class="bp">True</span> - <span class="k">break</span> - - -<span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s">'_CloseSmallDeletions'</span><span class="p">,</span> <span class="s">'_MergeGapsByDistance'</span><span class="p">]</span> - -<span class="c"># LocalWords: modeling stereochemically param</span> -</pre></div> - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"><div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../../../index.html">Documentation overview</a><ul> - <li><a href="../../index.html">Module code</a><ul> - <li><a href="../../promod3.html">promod3</a><ul> - </ul></li> - </ul></li> - </ul></li> -</ul> -</div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../../../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/_modules/promod3/sidechain/reconstruct_sidechains.html b/doc/html/_modules/promod3/sidechain/_reconstruct_sidechains.html similarity index 98% rename from doc/html/_modules/promod3/sidechain/reconstruct_sidechains.html rename to doc/html/_modules/promod3/sidechain/_reconstruct_sidechains.html index 4d82f763b7de42d2c928034bea1f6f4b5572b878..fb8baf6967a29d64da9ae1d6075cc9d3ba299e0a 100644 --- a/doc/html/_modules/promod3/sidechain/reconstruct_sidechains.html +++ b/doc/html/_modules/promod3/sidechain/_reconstruct_sidechains.html @@ -6,7 +6,7 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>promod3.sidechain.reconstruct_sidechains — ProMod3 0 documentation</title> + <title>promod3.sidechain._reconstruct_sidechains — ProMod3 0 documentation</title> <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" /> <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> @@ -37,11 +37,11 @@ <div class="bodywrapper"> <div class="body" role="main"> - <h1>Source code for promod3.sidechain.reconstruct_sidechains</h1><div class="highlight"><pre> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">sidechain</span> + <h1>Source code for promod3.sidechain._reconstruct_sidechains</h1><div class="highlight"><pre> +<span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_sidechain</span> <span class="k">as</span> <span class="n">sidechain</span> <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">geom</span> -<div class="viewcode-block" id="Reconstruct"><a class="viewcode-back" href="../../../sidechain/index.html#promod3.sidechain.reconstruct_sidechains.Reconstruct">[docs]</a><span class="k">def</span> <span class="nf">Reconstruct</span><span class="p">(</span><span class="n">ent</span><span class="p">,</span> <span class="n">keep_sidechains</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span> <span class="n">build_disulfids</span> <span class="o">=</span> <span class="bp">True</span><span class="p">,</span> +<div class="viewcode-block" id="Reconstruct"><a class="viewcode-back" href="../../../sidechain/index.html#promod3.sidechain.Reconstruct">[docs]</a><span class="k">def</span> <span class="nf">Reconstruct</span><span class="p">(</span><span class="n">ent</span><span class="p">,</span> <span class="n">keep_sidechains</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span> <span class="n">build_disulfids</span> <span class="o">=</span> <span class="bp">True</span><span class="p">,</span> <span class="n">rotamer_model</span> <span class="o">=</span> <span class="s">"frm"</span><span class="p">,</span> <span class="n">consider_hbonds</span> <span class="o">=</span> <span class="bp">True</span><span class="p">,</span> <span class="n">rotamer_library</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span> <span class="n">add_polar_hydrogens</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> @@ -398,7 +398,11 @@ <span class="k">if</span> <span class="n">i</span><span class="o">==</span><span class="mi">100000</span><span class="p">:</span><span class="k">continue</span><span class="c">#These are cysteins that were already handled</span> <span class="n">rh</span><span class="o">=</span><span class="n">prot</span><span class="o">.</span><span class="n">residues</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">GetHandle</span><span class="p">()</span> <span class="n">r</span><span class="o">.</span><span class="n">ApplyOnResidue</span><span class="p">(</span><span class="n">rh</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span> -</pre></div></div> + + +<span class="c"># these methods will be exported into module</span></div> +<span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Reconstruct'</span><span class="p">,)</span> +</pre></div> </div> </div> diff --git a/doc/html/_sources/actions/index_dev.txt b/doc/html/_sources/actions/index_dev.txt index d9b667f1dd27451affaf9c98db0cff407083db1c..d88a707502036ca6c2bec6cac0fedc3c43997b3e 100644 --- a/doc/html/_sources/actions/index_dev.txt +++ b/doc/html/_sources/actions/index_dev.txt @@ -1,7 +1,8 @@ -:mod:`test_actions.ActionTestCase` - Testing Actions +:mod:`test_actions` - Testing Actions ================================================================================ .. module:: test_actions + :synopsis: Testing Actions .. currentmodule:: test_actions @@ -362,4 +363,4 @@ Unit Test Actions API .. LocalWords: userlevel RunExitStatusTest testExit ost testutils RunTests .. LocalWords: stdout stderr testcode nobytecode testsetup actiontest os .. LocalWords: getcwd pardir builtin testoutput NORMALIZE WHITESPACE API -.. LocalWords: rawmodel autoclass +.. LocalWords: autoclass diff --git a/doc/html/_sources/changelog.txt b/doc/html/_sources/changelog.txt index 9c9ba86de73c69b98b8e46e93abced278a4a3f8a..b50334fa756a8c72a1005cf265e55e83c92f4ed9 100644 --- a/doc/html/_sources/changelog.txt +++ b/doc/html/_sources/changelog.txt @@ -19,5 +19,6 @@ Changes in Release 0.2 Changes in Release 0.3 (to be released) ------------------------------------------------------------------------------- * merged argcheck into the helper module + * rawmodel renamed to modelling and including high-level modelling functions .. LocalWords: Changelog reStructuredText changelog txt diff --git a/doc/html/_sources/contributing.txt b/doc/html/_sources/contributing.txt index 2d60c8f5cf8aabb566ff765c597fb934ebd6d59a..d47ca142290efe00b4d684007be96134e5c6c7ef 100644 --- a/doc/html/_sources/contributing.txt +++ b/doc/html/_sources/contributing.txt @@ -132,17 +132,20 @@ This may require some manual conflict solving and will end up in a merge commit. .. code-block:: console $ cp extras/pre_commit/pre-commit .git/hooks/ - $ Its task is applying coding standards and doing a bunch of other checks on the -files involved in a commit. Everything around the script is hosted in :file:`extras/pre_commit/`. +files involved in a commit. Everything around the script is hosted in +:file:`extras/pre_commit/`. The checks can be manually executed with + +.. code-block:: console + + $ python .git/hooks/pre-commit If you ever have to skip the hook, .. code-block:: console $ git commit --no-verify - $ does the trick. **But** checks are always run on the complete file containing changes, not only on the lines changed. This means if you opt out of an issue, @@ -514,7 +517,7 @@ top level :file:`CMakeLists.txt`: ## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt add_subdirectory(config) add_subdirectory(core) - add_subdirectory(rawmodel) + add_subdirectory(modelling) add_subdirectory(sidechains) add_subdirectory(loop) add_subdirectory(scripts) @@ -827,7 +830,7 @@ contributions to web pages using |project|. .. LocalWords: unittest TestCase nameattr testcode staticmethod builtin cp .. LocalWords: SomethingTests testFileExistsFalse testutils RunTests DQMEAN .. LocalWords: pre API inline CMake hh ProMod Bienchen OST OPENSTRUCTURE os -.. LocalWords: mol alg conop QMEAN KIC eigen eigenvectors Lapack rawmodel +.. LocalWords: mol alg conop QMEAN KIC eigen eigenvectors Lapack .. 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/_sources/core/helper.txt b/doc/html/_sources/core/helper.txt index 93ea65eba08e08234f2080564a8f113ab107dc71..fac343701e67c0d0c3a039866a507318ada49a82 100644 --- a/doc/html/_sources/core/helper.txt +++ b/doc/html/_sources/core/helper.txt @@ -1,6 +1,9 @@ :mod:`~promod3.core.helper` - Shared Functionality For the Everything ================================================================================ +.. module:: promod3.core.helper + :synopsis: Helper functions + .. currentmodule:: promod3.core.helper Introduction diff --git a/doc/html/_sources/core/pm3argparse.txt b/doc/html/_sources/core/pm3argparse.txt index 8800b4def55411a909be3777bcfa012a4bf776e5..1da913d23a33b67aac068eaa8d63d92e2940e98b 100644 --- a/doc/html/_sources/core/pm3argparse.txt +++ b/doc/html/_sources/core/pm3argparse.txt @@ -1,9 +1,10 @@ :mod:`~promod3.core.pm3argparse` - Parsing Command Lines ================================================================================ -.. currentmodule:: promod3.core.pm3argparse - .. module:: promod3.core.pm3argparse + :synopsis: Argument Parsing + +.. currentmodule:: promod3.core.pm3argparse Introduction -------------------------------------------------------------------------------- diff --git a/doc/html/_sources/developers.txt b/doc/html/_sources/developers.txt index dff318493e4df8f418a3531be599552144cdf76f..2c4a920b9f8005e7f84f5e8787e98b31b7c23002 100644 --- a/doc/html/_sources/developers.txt +++ b/doc/html/_sources/developers.txt @@ -12,8 +12,7 @@ Contents: gettingstarted core/setcompoundschemlib core/index - pipeline/index - rawmodel/index + modelling/index loop/index sidechain/index actions/index_dev diff --git a/doc/html/_sources/gettingstarted.txt b/doc/html/_sources/gettingstarted.txt index c29dbd8b7ff950e5dcd3b8419aaff787e291845a..696d3827d343aadf28d13eae1f96e50d40994ceb 100644 --- a/doc/html/_sources/gettingstarted.txt +++ b/doc/html/_sources/gettingstarted.txt @@ -41,7 +41,7 @@ Modelling pipeline Commonly, your input is a template structure and an alignment of the template to the desired target sequence. The modelling steps then are: -- Build a raw model from the template (see :mod:`~promod3.rawmodel` module) +- Build a raw model from the template (see :func:`~promod3.modelling.BuildRawModel` function) - Perform loop modelling to close all gaps (see :mod:`~promod3.loop` module) - Reconstruct sidechains (see :mod:`~promod3.sidechain` module) - Minimize energy of final model using molecular mechanics diff --git a/doc/html/_sources/loop/backbone.txt b/doc/html/_sources/loop/backbone.txt index 13befcdcbfc4bb2f97cde23c802cd302f872aec1..14508e46ba1c01eb6e02497c8904d5a4f0c50cb9 100644 --- a/doc/html/_sources/loop/backbone.txt +++ b/doc/html/_sources/loop/backbone.txt @@ -120,11 +120,18 @@ The Basic Building Blocks Applies a transformation to the coordinates of the backbone :param transformation_matrix: The transformation - :type transformation_matrix: :class:`ost.geom.Mat4` + :type transformation_matrix: :class:`ost.geom.Mat4` / :class:`ost.geom.Transform` + + .. method:: GetTransform(target) + + Get transformation performing a minimum RMSD transformation onto + *target* considering the positions of the N, CA and C atoms. + + :param target: The target positions - .. method:: GetTransform() + :type target: :class:`Backbone` / :class:`ost.mol.ResidueHandle` - :returns: The transformation currently applied on the backbone + :returns: A 4x4 transformation matrix :rtype: :class:`ost.geom.Mat4` @@ -197,24 +204,23 @@ Editing Full Stretches Of Backbone Residues :return: The amino acid sequence - .. method:: InsertInto(chain,n_stem,c_stem,[remodel_cterminal_o = True]) + .. method:: InsertInto(chain,start_resnum,[remodel_cterminal_o = True]) Inserts the backbone list into the **chain**. If the residues corresponding to the :class:`BackboneList` are already present in the entity, they will be replaced, otherwise they will be added to the entity. :param chain: The chain - :param n_stem: The residue number of the n_stem - :param c_stem: The residue number of the c_stem + :param start_resnum: Residue number defining the start location of + insertion :param remodel_cterminal_o: The position of the cterminal o is dependent on the residue after the c_stem. If this flag is set and the residue after the cterminus is present in **chain**, the according oxygen position gets recalculated. - :type entity: :class:`ost.mol.ChainHandle` - :type n_stem: :class:`int` - :type c_stem: :class:`int` - :type remodel_cterminal_o: :class:`bool` + :type chain: :class:`ost.mol.ChainHandle` + :type start_resnum: :class:`int` / :class:`ost.mol.ResNum` + :type remodel_cterminal_o: :class:`bool` .. method:: ReconstructCBetaPositions() diff --git a/doc/html/_sources/loop/backbone_loop_score.txt b/doc/html/_sources/loop/backbone_loop_score.txt index 4681fca82fd1c0cc4f521051017a4c00540c5fa3..55acd78a2b2914f613c3534380a89550d911d3b7 100644 --- a/doc/html/_sources/loop/backbone_loop_score.txt +++ b/doc/html/_sources/loop/backbone_loop_score.txt @@ -15,17 +15,9 @@ Some of the available scores are statistical potential based. When setting up an empty scorer, the parametrization and the score values of these potentials have to be set manually. - - - - - - The BackboneLoopScorer -------------------------------------------------------------------------------- -.. autofunction:: SetupBackboneScorer - .. class:: BackboneLoopScorer .. method:: Save(filename) @@ -65,6 +57,44 @@ The BackboneLoopScorer :raises: :class:`RuntimeError` if *cbeta_cutoff* is negative or *cbeta_bins* is <= 0 + + .. method:: SetReducedPotentialParameters(dist_cutoff, dist_bins, angle_bins, dihedral_bins, seq_sep) + + Parametrizes a pairwise statistical potential considering the relative + orientation of two residues. Every residue gets represented by its CA + position p and a directional component v = norm(ca_pos-n_pos) + norm(ca_pos-c_pos). + Assuming an interaction between residues r1 and r2, we can define a line l + between p1 and p2. The potential then considers: + + * dist => distance between p1 and p2 + * alpha => angle between v1 and l + * beta => angle between v2 and l + * gamma => dihedral between (p1+v1,p1,p2,p2+v2) + + :param dist_cutoff: The maximum distance of two residues to be + considered + + :param dist_bins: Number of equally sized bins to describe the + distances in a discrete manner + + :param angle_bins: Number of equally sized bins to describe the angle + parameters in a discrete manner (range of [0, pi]) + + :param dihedral_bins: Number of equally sized bins to describe the dihedral + parameter in a discrete manner (range of [-pi,pi]) + + :param seq_sep: Minimal separation in sequence two residues must + have to be considered + + :type dist_cutoff: :class:`float` + :type dist_bins: :class:`int` + :type angle_bins: :class:`int` + :type dihedral_bins: :class:`int` + :type seq_sep: :class:`int` + + :raises: :class:`RuntimeError` if *dist_cutoff* is negative or one + of the bin parameters is <= 0 + .. method:: SetTorsionPotentialParameters(group_definitions, torsion_bins) Parametrizes a torsion statistical potential, that assigns energies based @@ -89,7 +119,8 @@ The BackboneLoopScorer .. method:: SetCBPackingPotentialParameters(cb_packing_cutoff, cb_packing_max_count) Parametrizes a cb packing statistical potential, that assigns energies - based on the number of other cbeta atoms in the environment. + based on the number of other cbeta atoms in the environment within a certain + cutoff distance. :param cb_packing_cutoff: Radius in which other cbeta atoms are counted :param cb_packing_max_count: If number of other cbeta atoms exceeds @@ -152,6 +183,17 @@ The BackboneLoopScorer or a max parameter is smaller than its min counterpart. + .. method:: SetSSAgreementParameters() + + Parametrizes the SSAgreement score. Despite no parameters being given, this + function has to be called before you can set any SSAgreement scores since the + memory has to be allocated internally. The SSAgreement score itself relates a + score to a certain combination of psipred prediction, it's confidence and the + actually occuring secondary structure in the model. In every score evaluation, + the secondary structure of the loop is estimated by searching for hydrogen bonds + leading to a secondary structure as defined by dssp. The hbonds are searched + internally in the loop as well as in the environment. + .. method:: SetCBetaEnergy(a, b, bin, e) :param a: Identity of first interaction partner. @@ -169,6 +211,31 @@ The BackboneLoopScorer :raises: :class:`RuntimeError` if invalid bin or amino acid is given + .. method:: SetReducedEnergy(a, b, dist_bin, alpha_bin, beta_bin, gamma_bin, e) + + :param a: Identity of first interaction partner. + :param b: Identity of second interaction partner. + :param dist_bin: Discrete bin describing the interaction distance based + on the previously defined *dist_cutoff* and *dist_bins*. + :param alpha_bin: Discrete bin describing the alpha angle based + on the previously defined *angle_bins*. + :param beta_bin: Discrete bin describing the beta angle based + on the previously defined *angle_bins*. + :param gamma_bin: Discrete bin describing the gamma dihedral based + on the previously defined *dihedral_bins*. + :param e: Energy to be set + + :type a: :class:`ost.conop.AminoAcid` + :type b: :class:`ost.conop.AminoAcid` + :type dist_bin: :class:`int` + :type alpha_bin: :class:`int` + :type beta_bin: :class:`int` + :type gamma_bin: :class:`int` + :type e: :class:`float` + + :raises: :class:`RuntimeError` if invalid bin or amino acid is + given + .. method:: SetTorsionEnergy(group_id_idx, phi_bin, psi_bin, e) :param group_id_idx: Index of group identifier given at setting up the @@ -224,6 +291,20 @@ The BackboneLoopScorer :raises: :class:`RuntimeError` if state is not in [0,1,2] or one of the bins is invalid. + + .. method:: SetSSAgreementScore(psipred_state, int psipred_confidence, + dssp_state, score) + + :param psipred_state: must be one of ['H','E','C'] + :param psipred_confidence: must be in [0,9] + :param dssp_state: must be one of ['H','E','C','G','B','S','T','I'] + :param score: score to be set + + :type psipred_state: :class:`str` + :type psipred_confidence: :class:`int` + :type dssp_state: :class:`str` + :type score: :class:`float` + .. method:: Initialize(seqres) Set up internal scorer with given seqres @@ -247,6 +328,32 @@ The BackboneLoopScorer :raises: :class:`RuntimeError` when *seqres_list* contains element with invalid one letter code + .. method:: SetPsipredPrediction(pred) + + Internally sets the psipred prediction, which is necessary to calculate the + SSAgreementScore. + + :param pred: The prediction + :type pred: :class:`PsipredPrediction` + + :raises: :class:`RuntimeError` If the scorer is not yet initialized, + the scorer is initialized for multiple chains or when the + the size of the prediction is inconsistent with the internal + seqres in the scorer. + + .. method:: SetPsipredPrediction(pred) + + Internally sets the psipred prediction, which is necessary to calculate the + SSAgreementScore. + + :param pred: The prediction + :type pred: :class:`list` of :class:`PsipredPrediction` + + :raises: :class:`RuntimeError` If the scorer is not yet initialized, + the number of predictions is inconsistent with the number of + internal chains or when one of the predictions sizes is + inconsistent with the according internal seqres + .. method:: SetEnvironment(env) Sets structural environment with which loops to be scored interact. @@ -283,6 +390,22 @@ The BackboneLoopScorer when either start_resnum or chain_index point to invalid positions in the SEQRES. + .. method:: ClearEnvironment(start_resnum, num_residues, [chain_index=0]) + + Clears a stretch of length *num_residues* in the environment in chain + with idx *chain_index* starting from residue number *start_resnum* + + :param start_resnum: Start of stretch to clear + :param num_residues: Length of stretch to clear + :param chain_index: Chain the stretch belongs to + + :type start_resnum: :class:`int` + :type num_residues: :class:`int` + :type chain_index: :class:`int` + + :raises: :class:`RuntimeError` when either start_resnum or + chain_index point to invalid positions in the SEQRES. + .. method:: CalculateClashScore(bb_list, start_resnum, [chain_index=0]) :param bb_list: Loop to calculate the clash score @@ -320,6 +443,25 @@ The BackboneLoopScorer according potential or scorer have never been properly initialized. + .. method:: CalculateReducedScore(bb_list, start_resnum, [chain_index=0]) + + :param bb_list: Loop to calculate the reduced score + :param start_resnum: ResNum defining the position in the SEQRES + (first element starts with one!) + :param chain_index: Index of the chain the loop belongs to + + :type bb_list: :class:`BackboneList` + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + :returns: reduced score + + :raises: :class:`RuntimeError` if size of *bb_list* is smaller + than 3, the *chain_index*/*start_resnum* lead to + invalid positions in the SEQRES or when the + according potential or scorer have never been properly + initialized. + .. method:: CalculateTorsionScore(bb_list, start_resnum, [chain_index=0]) :param bb_list: Loop to calculate the torsion score @@ -377,12 +519,10 @@ The BackboneLoopScorer according potential or scorer have never been properly initialized. - .. method:: CalculateDSSPHBondScore(bb_list, start_resnum, [chain_index=0]) - Instead of calculate an hbond score based on a statistical potential, - an the DSSP hbond energy function gets evaluated in this function. + .. method:: CalculateSSAgreementScore(bb_list, start_resnum, [chain_index=0]) - :param bb_list: Loop to calculate the hbond score + :param bb_list: Loop to calculate the SSAgreement score :param start_resnum: ResNum defining the position in the SEQRES (first element starts with one!) :param chain_index: Index of the chain the loop belongs to @@ -391,12 +531,14 @@ The BackboneLoopScorer :type start_resnum: :class:`int` :type chain_index: :class:`int` - :returns: hbond score + :returns: SSAgreement score :raises: :class:`RuntimeError` if size of *bb_list* is smaller than 3, the *chain_index*/*start_resnum* lead to - invalid positions in the SEQRES or when the - scorer has never been properly initialized. + invalid positions in the SEQRES or, the + scorer have never been properly initialized, + or when no :class:`PsipredPrediction` is set to + the scorer. .. method:: TransOmegaTorsions(bb_list, [thresh = 20/180*pi, allow_prepro_cis=True]) diff --git a/doc/html/_sources/loop/helper_classes.txt b/doc/html/_sources/loop/helper_classes.txt new file mode 100644 index 0000000000000000000000000000000000000000..9c9e87fe2f18e79b12363274f74c5da1aeb46850 --- /dev/null +++ b/doc/html/_sources/loop/helper_classes.txt @@ -0,0 +1,552 @@ +Helper Classes +================================================================================ + +.. currentmodule:: promod3.loop + +This chapter describes helper classes, that are somehow related to the +functionality in the loop module. + +Psipred +-------------------------------------------------------------------------------- + + + + +.. class:: PsipredPrediction + + A container for the secondary structure prediction by Psipred. + + .. method:: PsipredPrediction() + + Constructs empty container + + .. method:: PsipredPrediction(prediction, confidence) + + Constructs container with given content + + :param prediction: Secondary structure prediction as element in ['H','E','C'] + :param confidence: Confidence of prediction as element in [0,9] + + :type prediction: :class:`list` + :type confidence: :class:`list` + + :raises: :class:`RuntimeError` if size of **prediction** and + **confidence** are inconsistent or if they contain an + invalid element + + .. method:: FromHHM(filename) + + Static function to Load a :class:`PsipredPrediction` object from hhm file, + as they are provided by the hhsearch suite + + :param filename: Name of file + :type filename: :class:`str` + + .. method:: FromHoriz(filename) + + Static function to Load a :class:`PsipredPrediction` object from horiz file, + as they are produced by the psipred executable + + :param filename: Name of file + :type filename: :class:`str` + + .. method:: Add(prediction, confidence) + + Adds and appends a single residue psipred prediction at the end + + :param prediction: Prediction, must be one in ['H','E','C'] + :param confidence: Confidence of prediction, must be in [0,9] + + :type prediction: :class:`str` + :type confidence: :class:`int` + + :raises: :class:`RuntimeError` if input contains invalid elements + + .. method:: Extract(from, to) + + Extracts content and returns a sub-:class:`PsipredPrediction` with range **from** + to **to**, not including **to** itself + + :param from: Idx to start + :param to: Idx to end + + :type from: :class:`int` + :type to: :class:`int` + + :returns: :class:`PsipredPrediction` with the specified range + + :raises: :class:`RuntimeError` if **from** or **to** are invalid + + + + .. method:: GetPrediction(idx) + + :param idx: Index to get prediction from + :type idx: :class:`int` + :returns: Psipred prediction at pos **idx** + :raises: :class:`RuntimeError` if **idx** is invalid + + .. method:: GetConfidence(idx) + + :param idx: Index to get confidence from + :type idx: :class:`int` + :returns: Psipred confidence at pos **idx** + :raises: :class:`RuntimeError` if **idx** is invalid + + .. method:: GetPredictions() + + Get all the predictions in the container + + :returns: :class:`list` containing all the predictions in the container + + + .. method:: GetConfidences() + + Get all the confidences in the container + + :returns: :class:`list` containing all the confidences in the container + + + .. method:: __len__() + + :returns: Number of elements in container + + + +Handling several loops at once +-------------------------------------------------------------------------------- + + + +.. class:: LoopCandidate(backbone_list) + + Object representing a possible configuration of the backbone of a particular loop being modelled. Apart from the positions, stored in a :class:`BackboneList`, it also has attributes storing different scores associated with the candidate (will be set by calling the corresponding scoring function in :class:`LoopCandidates`) as well as some information on the original structure from which this particular loop configuration was taken (in the case when the configuration was taken from the structural database). + + :param backbone_list: Positions of the backbone atoms + + :type backbone_list: :class:`BackboneList` + + .. method:: CARMSD(other) + + Calculates the C-alpha RMSD between this loop candidate and an *other* loop candidate, after superposition. + + :param other: Other loop + + :type other: :class:`LoopCandidate` + + .. method:: RMSD(other) + + Calculates the RMSD between this loop candidate and an *other* loop candidate, after superposition. + + :param other: Other loop + + :type other: :class:`LoopCandidate` + + .. method:: GetOriginalSequence() + + Returns the sequence of the original loop from the structural database, i.e. the sequence of the piece of structure from which the loop was taken. + + :returns: A sequence + + :rtype: :class:`str` + + .. method:: GetOriginalDSSPState() + + Returns the secondary structure of the original loop from the structural database, i.e. the secondary structure of the piece of structure from which the loop was taken. + + :returns: The secondary structure code as given in DSSP + + :rtype: :class:`str` + + .. attribute:: bb_list + + The backbone list containing the positions of the backbone atoms + + :type: :class:`BackboneList` + + + .. attribute:: clash_score + + The clash score of the loop candidate + + :type: :class:`float` + + .. attribute:: cbeta_score + + The C-beta score of the loop candidate + + :type: :class:`float` + + .. attribute:: reduced_score + + The reduced score of the loop candidate + + :type: :class:`float` + + .. attribute:: torsion_score + + The torsion score of the loop candidate + + :type: :class:`float` + + .. attribute:: packing_score + + The packing score of the loop candidate + + :type: :class:`float` + + .. attribute:: hbond_score + + The HBond score of the loop candidate + + :type: :class:`float` + + .. attribute:: ss_agreement + + The SSAgreement score of the loop candidate + + :type: :class:`float` + + .. attribute:: combined_score + + Score value intended to be a placeholder for an arbitrary combination + of the other scores + + :type: :class:`float` + + +.. class:: LoopCandidates(seq) + + The *LoopCandidates* is a helper class used as a container for + :class:`LoopCandidate` objects enforcing consistent length + and sequence among them. It can either be filled manually or + generated using static filling functions using the functionality + from the :class:`FragDB` or Monte Carlo algorithms. Once it contains + candidates you can apply closing, scoring or clustering algorithms on the content. + Note, that you have to attach a scorer object before any scoring action. + + :param seq: The sequence being enforced for all candidates + + :type sequence: :class:`str` + + + .. staticmethod:: FillFromDatabase(n_stem, c_stem, seq, frag_db, \ + structural_db, extended_search=False) + + Searches for loop candidates matching the length (number of residues in *seq*) and geometry (of *n_stem* and *c_stem*) of the loop to be modelled in a fragment database. + + :param n_stem: The residue at the N-terminal end of the loop + :param c_stem: The residue at the C-terminal end of the loop + :param seq: The sequence of residues to be added including the + *n_stem* and *c_stem* + :param frag_db: The fragment database + :param structural_db: The according structural database + :param extended_search: Whether search should be extended to fragments + matching the geometry of the *n_stem* and *c_stem* + a bit less precisely. + + :type n_stem: :class:`ost.mol.ResidueHandle` + :type c_stem: :class:`ost.mol.ResidueHandle` + :type seq: :class:`str` + :type frag_db: :class:`FragDB` + :type structural_db: :class:`StructureDB` + :type extended_search: :class:`bool` + + :returns: A list of loop candidates + :rtype: :class:`LoopCandidates` + + .. staticmethod:: FillFromMonteCarloSampler(seq, num_loops, steps, \ + sampler, closer, scorer, cooler) + FillFromMonteCarloSampler(initial_bb, seq, num_loops, steps, \ + sampler, closer, scorer, cooler) + + Uses Monte Carlo simulated annealing to sample the loop to be modelled. + If *initial_bb* is given, every Monte Carlo run starts from that configuration. + + :param initial_bb: Initial configuration used for the sampling + :param seq: The sequence of residues to be sampled + :param num_loops: Number of loop candidates to return + :param steps: Number of MC steps to perform for each loop candidate + generated + :param sampler: Used to generate a new configuration at each MC step + :param closer: Used to close the loop after each MC step + :param scorer: Used to score the generated configurations at each MC step + :param cooler: Controls the temperature profile of the simulated annealing + + :type initial_bb: :class:`BackboneList` + :type seq: :class:`str` + :type num_loops: :class:`int` + :type steps: :class:`int` + :type sampler: :ref:`mc-sampler-object` + :type closer: :ref:`mc-closer-object` + :type scorer: :ref:`mc-scorer-object` + :type cooler: :ref:`mc-cooler-object` + + :returns: The resulting candidates + :rtype: :class:`LoopCandidates` + + :raises: A :exc:`RuntimeError`, if *initial_bb* is not given and the Monte + Carlo sampler failed to initialize (i.e. stems are too far apart) + :raises: A :exc:`RuntimeError`, if *initial_bb* is given and it is + inconsistent with *seq* + + .. method:: ClusterCandidates(max_dist, neglect_size_one = true) + + Clusters the loop candidates according to their pairwise CARMSD using a greedy + hierarchical clustering algorithm. Every candidate gets assigned a unique cluster. + At every clustering step, the two clusters with shortest distance get merged, with + the distance definition being the maximal CARMSD between any of the members + of the two clusters. + + :param max_dist: Maximal distance two clusters can have to be merged + :param neglect_size_one: Whether clusters should be added to the return + list if they only contain one :class:`LoopCandidate` + + :type max_dist: :class:`float` + :type neglect_size_one: :class:`bool` + + + :returns: A list of :class:`LoopCandidates`. Each element in the list + corresponds to the candidates in one cluster. + + .. method:: ApplyCCD(n_stem, c_stem, max_iterations=1000, \ + rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0) + ApplyCCD(n_stem, c_stem, torsion_sampler, max_iterations=1000, \ + rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0) + ApplyCCD(n_stem, c_stem, torsion_samplers, max_iterations=1000, \ + rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0) + + Closes all :class:`LoopCandidate` in :class:`LoopCandidates` using the CCD + algorithm (i.e. modifies the :class:`LoopCandidate` so that its stem residues + match those of *n_stem* and *c_stem*). CCD (cyclic coordinate descent, see + :class:`~promod3.loop.CCD`) is an iterative minimization algorithm. + + If *torsion_sampler* or *torsion_samplers* is given, it is used at each step + of the closing to calculate the probability of the proposed move, which is + then accepted or not depending on a metropolis criterium. + + :param n_stem: Residue defining the n-stem positions every + candidate should match + :param c_stem: Residue defining the c-stem positions every + candidate should match + :param torsion_sampler: The torsion sampler + :param torsion_samplers: A list containing one torsion sampler for each + residue in the loop + :param max_iterations: Maximum number of iteration + :param rmsd_cutoff: Cutoff in stem residue RMSD used to determine + convergence + :param keep_non_converged: Whether to keep loop candidates for which the + closing did not converged + :param random_seed: seed for random number generator used to + accept/reject moves in CCD algorithm + + :type n_stem: :class:`ost.mol.ResidueHandle` + :type c_stem: :class:`ost.mol.ResidueHandle` + :type torsion_sampler: :class:`TorsionSampler` + :type torsion_samplers: :class:`list` of :class:`TorsionSampler` + :type max_iterations: :class:`int` + :type rmsd_cutoff: :class:`float` + :type keep_non_converged: :class:`bool` + :type random_seed: :class:`int` + + + .. method:: ApplyKIC(n_stem, c_stem, pivot_one, pivot_two, pivot_three) + + Closes all :class:`LoopCandidate` in :class:`LoopCandidates` (i.e. modifies + the :class:`LoopCandidate` so that its stem residues match those of + *n_stem* and *c_stem*, which are the stem residues of the loop being + modelled), using the KIC algorithm. This algorithm finds analytical + solutions for closing the loop by modifying the torsion angles of just + three pivot residues. Due to the underlying mathematical formalism in KIC, + up to 16 solutions can be found for every candidate. This leads to an + increase in number of loops. + + :param n_stem: Residue defining the n-stem positions every candidate + should match + :param c_stem: Residue defining the c-stem positions every candidate + should match + :param pivot_one: First pivot residue + :param pivot_two: Second pivot residue + :param pivot_three: Third pivot residue + + :type n_stem: :class:`ost.mol.ResidueHandle` + :type c_stem: :class:`ost.mol.ResidueHandle` + :type pivot_one: :class:`int` + :type pivot_two: :class:`int` + :type pivot_three: :class:`int` + + + .. method:: Add(loop_candidate) + + Add a loop candidate to the list of candidates + + :param loop_candidate: The loop candidate + :type loop_candidate: :class:`LoopCandidate` + + :raises: :class:`RuntimeError` If sequence of *loop_candidate* is not consistent + with internal sequence + + .. method:: Add(bb_list) + + Add a loop candidate to the list of candidates from a list of backbone positions + + :param bb_list: The backbone list + :type bb_list: :class:`BackboneList` + + :raises: :class:`RuntimeError` If sequence of *bb_list* is not consistent + with internal sequence + + .. method:: Remove(index) + + Remove a loop candidate from the list of candidates. + + :param index: The index of the candidate that will be removed + :type index: :class:`int` + + .. method:: AttachScorer(scorer) + + Attaches a scorer to the :class:`LoopCandidates`. The scorer contains the information about the environment of the loop candidates and is mandatory to calculate the different scores for the loop candidates. + + :param scorer: The scorer + :type scorer: :class:`BackboneLoopScorer` + + + .. method:: CalculateClasScores(start_resnum, [chain_index=0]) + + Calculates and assigns the clash score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + + .. method:: CalculateBetaScores(start_resnum, [chain_index=0]) + + Calculates and assigns the cbeta score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + .. method:: CalculateReducedScores(start_resnum, [chain_index=0]) + + Calculates and assigns the reduced score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + + .. method:: CalculateTorsionScores(start_resnum, [chain_index=0]) + + Calculates and assigns the torsion score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + .. method:: CalculatePackingScores(start_resnum, [chain_index=0]) + + Calculates and assigns the packing score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + .. method:: CalculateHBondcores(start_resnum, [chain_index=0]) + + Calculates and assigns the HBond score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + .. method:: CalculateSSAgreementScores(start_resnum, [chain_index=0]) + + Calculates and assigns the SSAgreement score for each :class:`LoopCandidate`. + + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + + .. method:: CalculateCombinedScores(linear_weights, start_resnum, [chain_index=0]) + + Calculates and assigns an arbitrary linear combination of all the available scores for each :class:`LoopCandidate`. + + + :param linear_weights: Defining the linear weights of the scores as key value pairs. Allowed + keys are: ["cbeta","clash","torsion","cb_packing","hbond","ss_agreement", "reduced", "intercept"] + For every key, the according function in the attached + :class:`BackboneLoopScorer` gets called and the returned score added to + the final score with the according weight. If there is an intercept given, + the according value also gets added to the final score. + :param start_resnum: Residue number of the starting residue of the candidates being scored + (residue numbers start with one!) + :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneLoopScorer`) + + :type linear_weights: :class:`dict` + :type start_resnum: :class:`int` + :type chain_index: :class:`int` + + + + .. method:: GetAVGClashScore() + + :return: The average of the clash scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGCBetaScore() + + :return: The average of the cbeta scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGReducedScore() + + :return: The average of the reduced scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGTorsionScore() + + :return: The average of the torsion scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGPackingScore() + + :return: The average of the packing scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGHBondscore() + + :return: The average of the HBond scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGSSAgreementscore() + + :return: The average of the SSAgreement scores of all :class:`LoopCandidate`. + :rtype: float + + .. method:: GetAVGCombinedScore() + + :return: The average of the combined scores of all :class:`LoopCandidate`. + :rtype: float \ No newline at end of file diff --git a/doc/html/_sources/loop/index.txt b/doc/html/_sources/loop/index.txt index 4d7e4abf1979161b2b1bba9e59590f11892f5d1c..b74674a2960992ed55bb408b85bcefcb8e242574 100644 --- a/doc/html/_sources/loop/index.txt +++ b/doc/html/_sources/loop/index.txt @@ -45,7 +45,7 @@ you a starting point to get an idea of what can be done. #The candidates usually don't match exactly the required stem coordinates #CCD (Cyclic Coordinate Descent) is one way to enforce this match. - loop_candidates.ApplyCCD() + loop_candidates.ApplyCCD(n_stem, c_stem) #now it's time to select one candidate, we load a scorer object to do that scorer = loop.LoadBackboneLoopScorer() @@ -57,10 +57,12 @@ you a starting point to get an idea of what can be done. #the scorer can then be attached to the LoopCandidates object #to calculate several different scores, we go for a distance dependent #statistical potential considering the CBeta positions of each residue - #and a clash score + #and a clash score. To calculate the actual score we also have to pass + #the location of our loop candidates in the overall structure + # => resnum = 24 loop_candidates.AttachScorer(scorer) - loop_candidates.CalculateCBetaScores() - loop_candidates.CalculateClashScores() + loop_candidates.CalculateCBetaScores(24) + loop_candidates.CalculateClashScores(24) #we simply sum up the previously calculated scores and search for the #loop with minimal score @@ -72,10 +74,10 @@ you a starting point to get an idea of what can be done. min_score = score min_candidate = i - #let's insert that loop and save the structure down to disk - loop_candidates.InsertInto(crambin,min_candidate) - io.SavePDB(crambin,"remodeled_crambin.pdb") - + #let's insert the found loop into our structure and save it down + bb_list = loop_candidates[min_candidate].bb_list + bb_list.InsertInto(crambin.chains[0],n_stem.GetNumber()) + io.SavePDB(crambin,"modified_crambin.pdb") Contents: @@ -88,5 +90,5 @@ Contents: Closing Loops - adapt them to the environment <loop_closing> Loop Scoring <backbone_loop_score> Generating Loops DeNovo <monte_carlo> - Handle several loop candidates at once <loop_candidate> Loading Precomputed Loop Objects <load_loop_objects> + Helper Classes <helper_classes> diff --git a/doc/html/_sources/loop/load_loop_objects.txt b/doc/html/_sources/loop/load_loop_objects.txt index 0a5d8bb7e51f973ca739c3a91f849ee934a79051..f14289b9b7a92c14936a626f943ae26b20f01f68 100644 --- a/doc/html/_sources/loop/load_loop_objects.txt +++ b/doc/html/_sources/loop/load_loop_objects.txt @@ -65,7 +65,8 @@ Several data objects are used throughout the loop module. .. method:: LoadFragDB() - Loads and returns a FragDB with the default StructureDB attached. + Loads and returns a FragDB containing fragments up to the length of 14, + therefore capable of bridging gaps up to the length of 12. :returns: The Fragment database :rtype: :class:`FragDB` diff --git a/doc/html/_sources/loop/loop_candidate.txt b/doc/html/_sources/loop/loop_candidate.txt deleted file mode 100644 index 8ddf97898d623b9fba69f4ff552409c69d007ce0..0000000000000000000000000000000000000000 --- a/doc/html/_sources/loop/loop_candidate.txt +++ /dev/null @@ -1,405 +0,0 @@ -Loop Candidates -================================================================================ - -.. currentmodule:: promod3.loop - -.. class:: LoopCandidate(backbone_list) - - Object representing a possible configuration of the backbone of a particular loop being modelled. Apart from the positions, stored in a :class:`BackboneList`, it also has attributes storing different scores associated with the candidate (will be set by calling the corresponding scoring function in :class:`LoopCandidates`) as well as some information on the original structure from which this particular loop configuration was taken (in the case when the configuration was taken from the structural database). - - :param backbone_list: Positions of the backbone atoms - - :type backbone_list: :class:`BackboneList` - - .. method:: CARMSD(other) - - Calculates the C-alpha RMSD between this loop candidate and an *other* loop candidate, after superposition. - - :param other: Other loop - - :type other: :class:`LoopCandidate` - - .. method:: RMSD(other) - - Calculates the RMSD between this loop candidate and an *other* loop candidate, after superposition. - - :param other: Other loop - - :type other: :class:`LoopCandidate` - - .. method:: GetoriginalSequence() - - Returns the sequence of the original loop from the structural database, i.e. the sequence of the piece of structure from which the loop was taken. - - :returns: A sequence - - :rtype: :class:`str` - - .. method:: GetoriginalDSSPState() - - Returns the secondary structure of the original loop from the structural database, i.e. the secondary structure of the piece of structure from which the loop was taken. - - :returns: The secondary structure code as given in DSSP - - :rtype: :class:`str` - - .. attribute:: bb_list - - The backbone list containing the positions of the backbone atoms - - :type: :class:`BackboneList` - - .. attribute:: stem_rmsd - - The backbone RMSD of the two stem residues of the loop candidate relative to the stem residues for which the loop is being modelled. This is a measure of how well the loop candidate fits in the structure where it is being added. - - :type: :class:`float` - - .. attribute:: clash_score - - The clash score of the loop candidate - - :type: :class:`float` - - .. attribute:: cbeta_score - - The C-beta score of the loop candidate - - :type: :class:`float` - - .. attribute:: torsion_score - - The torsion score of the loop candidate - - :type: :class:`float` - - .. attribute:: packing_score - - The packing score of the loop candidate - - :type: :class:`float` - - .. attribute:: hbond_score - - The H-bond score of the loop candidate - - :type: :class:`float` - - .. attribute:: dssp_hbond_score - - The DSSP H-bond of the loop candidate - - :type: :class:`float` - - -.. class:: LoopCandidates(n_stem,c_stem,seq) - - The *LoopCandidates* is the basic object used for loop modelling. It contains the positions of the two anchor residues, the *n_stem* and *c_stem* residues, and the sequence of the residues to be modelled in between these anchor residues. - It also contains a list of :class:`LoopCandidate`, which are possible conformations of the backbone between the stem residues. - - - :param n_stem: The residue at the N-terminal end of the loop - :param c_stem: The residue at the C-terminal end of the loop - :param seq: The sequence of residues to be added between the *n_stem* and *c_stem* - - :type n_stem: :class:`ost.mol.ResidueHandle` - :type c_stem: :class:`ost.mol.ResidueHandle` - :type sequence: :class:`str` - - - .. method:: FillFromDatabase(n_stem, c_stem, seq, frag_db, structural_db, [extended_search=False]) - - Searches for loop candidates matching the length (number of residues in *seq*) and geometry (of *n_stem* and *c_stem*) of the loop to be modelled in a fragment database. - - :param n_stem: The residue at the N-terminal end of the loop - :param c_stem: The residue at the C-terminal end of the loop - :param seq: The sequence of residues to be added between the *n_stem* and *c_stem* - :param frag_db: The fragment database - :param structural_db: The according structural database - :param extended_search: Wether search should be extended to fragments matching the geometry of the *n_stem* and *c_stem* a bit less precisely. - - :type n_stem: :class:`ost.mol.ResidueHandle` - :type c_stem: :class:`ost.mol.ResidueHandle` - :type seq: :class:`str` - :type frag_db: :class:`FragDB` - :type structure_db: :class:`StructureDB` - :type extended_search: :class:`Bool` - - :returns: A list of loop candidates - :rtype: :class:`LoopCandidates` - - .. method:: FillFromMonteCarloSampler(n_stem, c_stem, initial_bb, seq, num_loops, steps, sampler, closer, scorer, cooler) - - Uses Monte Carlo simulated annealing to sample the loop to be modelled. - - :param n_stem: The residue at the N-terminal end of the loop - :param c_stem: The residue at the C-terminal end of the loop - :param initial_bb: Initial configuration used for the sampling - :param seq: The sequence of residues to be added between the *n_stem* and *c_stem* - :param num_loops: Number of loop candidates to return - :param steps: Number of MC steps to perform for each loop candidate generated - :param sampler: Used to generate a new configuration at each MC step - :param closer: Used to close the loop (make it match the *n_stem* and *c_stem* geometry) after each MC step - :param scorer: Used to score the generated configurations at each MC step - :param cooler: Controls the temperature profile of the simulated annealing - - :type n_stem: :class:`ost.mol.ResidueHandle` - :type c_stem: :class:`ost.mol.ResidueHandle` - :type seq: :class:`str` - :type initial_bb: :class:`BackboneList` - :type num_loops: :class:`int` - :type steps: :class:`int` - :type sampler: :ref:`mc-sampler-object` - :type closer: :ref:`mc-closer-object` - :type scorer: :ref:`mc-scorer-object` - :type cooler: :ref:`mc-cooler-object` - - :returns: A list of loop candidates - :rtype: :class:`LoopCandidates` - - .. method:: FillFromMonteCarloSampler(n_stem, c_stem, seq, num_loops, steps, sampler, closer, scorer, cooler) - - Uses Monte Carlo simulated annealing to sample the loop to be modelled. - - :param n_stem: The residue at the N-terminal end of the loop - :param c_stem: The residue at the C-terminal end of the loop - :param seq: The sequence of residues to be added between the *n_stem* and *c_stem* - :param num_loops: Number of loop candidates to return - :param steps: Number of MC steps to perform for each loop candidate generated - :param sampler: Used to generate a new configuration at each MC step - :param closer: Used to close the loop (make it match the *n_stem* and *c_stem* geometry) after each MC step - :param scorer: Used to score the generated configurations at each MC step - :param cooler: Controls the temperature profile of the simulated annealing - - :type n_stem: :class:`ost.mol.ResidueHandle` - :type c_stem: :class:`ost.mol.ResidueHandle` - :type seq: :class:`str` - :type num_loops: :class:`int` - :type steps: :class:`int` - :type sampler: :ref:`mc-sampler-object` - :type closer: :ref:`mc-closer-object` - :type scorer: :ref:`mc-scorer-object` - :type cooler: :ref:`mc-cooler-object` - - :returns: A list of loop candidates - :rtype: :class:`LoopCandidates` - - .. method:: ClusterCandidates() - - Clusters the loop candidates according to their pairwise CA-RMSD using a FLAME (fuzzy clustering by local approximation fo memberships) clustering algorithm. - - :returns: A list of :class:`LoopCandidates`. Each element in the list corresponds to the candidates in one cluster. - - .. method:: ApplyCCD(torsion_sampler, [max_iterations=1000, rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0, step_size=1.0]) - - Closes all :class:`LoopCandidate` in :class:`LoopCandidates` (i.e. modifies the :class:`LoopCandidate` so that its stem residues match those of the :class:`LoopCandidates`, which are the stem residues of the loop being modelled), using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm. At each step of the closing the *torsion_sampler* is used to calculate the probability of the proposed move and accepted or not depending on a metropolis criterium. - - :param torsion_sampler: The torsion sampler - :param max_iterations: Maximum number of iteration - :param rmsd_cutoff: Cutoff in stem residue RMSD used to determine convergence - :param keep_non_converged: Wether to keep loop candidates for which the closing did not converged - :param random_seed: seed for random number generator - :param step_size: size of the steps taken during loop closing. - - :type torsion_sampler: :class:`TorsionSampler` - :type max_iterations: :class:`int` - :type rmsd_cutoff: :class:`float` - :type keep_non_converged: :class:`bool` - :type random_seed: :class:`int` - :type step_size: :class:`float` - - .. method:: ApplyCCD(torsion_samplers, [max_iterations=1000, rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0, step_size=1.0]) - - Closes all :class:`LoopCandidate` in :class:`LoopCandidates` (i.e. modifies the :class:`LoopCandidate` so that its stem residues match those of the :class:`LoopCandidates`, which are the stem residues of the loop being modelled) using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm. At each step of the closing the *torsion_sampler* is used to calculate the probability of the proposed move and accepted or not depending on a metropolis criterium. - - :param torsion_sampler: A list containing one torsion sampler for each residue in the loop. - :param max_iterations: Maximum number of iteration - :param rmsd_cutoff: Cutoff in stem residue RMSD used to determine convergence - :param keep_non_converged: Wether to keep loop candidates for which the closing did not converged - :param random_seed: seed for random number generator - :param step_size: size of the steps taken during loop closing. - - :type torsion_samplers: :class:`TorsionSampler` - :type max_iterations: :class:`int` - :type rmsd_cutoff: :class:`float` - :type keep_non_converged: :class:`bool` - :type random_seed: :class:`int` - :type step_size: :class:`float` - - - .. method:: ApplyCCD([max_iterations=1000, rmsd_cutoff=0.1, keep_non_converged=false, random_seed=0, step_size=1.0]) - - Closes all :class:`LoopCandidate` in :class:`LoopCandidates` (i.e. modifies the :class:`LoopCandidate` so that its stem residues match those of the :class:`LoopCandidates`, which are the stem residues of the loop being modelled), using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm. - - :param max_iterations: Maximum number of iteration - :param rmsd_cutoff: Cutoff in stem residue RMSD used to determine convergence - :param keep_non_converged: Wether to keep loop candidates for which the closing did not converged - :param random_seed: seed for random number generator - :param step_size: size of the steps taken during loop closing. - - :type max_iterations: :class:`int` - :type rmsd_cutoff: :class:`float` - :type keep_non_converged: :class:`bool` - :type random_seed: :class:`int` - :type step_size: :class:`float` - - .. method:: ApplyKIC(pivot_one,pivot_two,pivot_three) - - Closes all :class:`LoopCandidate` in :class:`LoopCandidates` (i.e. modifies the :class:`LoopCandidate` so that its stem residues match those of the :class:`LoopCandidates`, which are the stem residues of the loop being modelled), using the KIC algorithm. This algorithm finds analytical solutions for closing the loop by modifying the torsion angles of just three pivot residues. Due to the underlying mathematical formalism in KIC, up to 16 solutions can be found for every candidate. This leads to an increase in number of loops. - - :param pivot_one: Maximum number of iteration - :param pivot_two: Cutoff in stem residue RMSD used - :param pivot_three: Wether to keep loop candidates for - - :type max_iterations: :class:`int` - :type rmsd_cutoff: :class:`float` - :type keep_non_converged: :class:`bool` - :type random_seed: :class:`int` - :type step_size: :class:`float` - - .. method:: ToEntity(index) - - Transforms the loop candidate with index *index* in the list of candidates into an :class:`ost.mol.EntityHandle`. - - :param index: The index of the :class:`LoopCandidate` that will be transformed into an class:`ost.mol.EntityHandle` - :type index: :class:`int` - - :returns: An class:`ost.mol.EntityHandle` - - .. method:: InsertInto(entity,index) - - Inserts the loop candidate with index *index* in the list of candidates into the *entity*. - - :param index: The index of the :class:`LoopCandidate` - :param entity: The entity - - :type index: :class:`int` - :type entity: class:`ost.mol.EntityHandle` - - .. method:: CalculateClasScores([chain_index=0]) - - Calculates and assigns the clash score for each :class:`LoopCandidate`. Scores include interactions within the loop and between the loop and the environment (set in the scorer). - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - - .. method:: CalculateBetaScores([chain_index=0]) - - Calculates and assigns the C-beta score for each :class:`LoopCandidate`. Scores include interactions within the loop and between the loop and the environment (set in the scorer). - This score is a pairwise statistical potential based only on C-beta positions. - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - .. method:: CalculateTorsionScores([chain_index=0]) - - Calculates and assigns the torsion score for each :class:`LoopCandidate`. This score only includes contributions from the torsion angles of the :class:`LoopCandidate`. - - This score is a statistical potential based only on backbone dihedral angles specific for triplet of residues (torsion potential depends on the identity of the residue and its two neighbors). - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - .. method:: CalculatePackingScores([chain_index=0]) - - Calculates and assigns the packing score for each :class:`LoopCandidate`. Scores include interactions within the loop and between the loop and the environment (set in the scorer). - This score is a statistical potential measuring and scoring the solvent exposure of the residues. - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - .. method:: CalculateHBondcores([chain_index=0]) - - Calculates and assigns the HBond score for each :class:`LoopCandidate`. Scores include interactions within the loop and between the loop and the environment (set in the scorer). - This score measures the energy of H-bonds. - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - .. method:: CalculateDSSPHBondScores([chain_index=0]) - - Calculates and assigns the C-beta score for each :class:`LoopCandidate`. Scores include interactions within the loop and between the loop and the environment (set in the scorer). - This score measures the energy of H-bonds as defined by DSSP. - - :param chain_index: The index of the chain to which the loop belongs (index relative to the entity forming the environment in the :class:`BackboneScorer`) - :type chain_index: :class:`int` - - .. method:: CalculateStemRMSD() - - Calculates and assigns the stem RMSD (i.e. the RMSD between the stem residues of the loop candidate and the stem residues of the loop being modelled) for each :class:`LoopCandidate`. - - .. method:: GetAVGClasScore() - - :return: The average of the clash scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGCBetaScore() - - :return: The average of the C-beta scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGTorsionScore() - - :return: The average of the torsion scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGPackingScore() - - :return: The average of the packing scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGHBondcore() - - :return: The average of the H-bond scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGDSSPHBondScore() - - :return: The average of the DSSP H-bond scores of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetAVGStemRMSD() - - :return: The average of the stem RMSDs of all :class:`LoopCandidate`. - :rtype: float - - .. method:: GetNStem() - - :return: The N-stem of loop being modelled - :rtype: :class:`ost.mol.EntityHandle` - - .. method:: GetCStem() - - :return: The C-stem of loop being modelled - :rtype: :class:`ost.mol.EntityHandle` - - .. method:: Add(loop_candidate) - - Add a loop candidate to the list of candidates - - :param loop_candidate: The loop candidate - :type loop_candidate: :class:`LoopCandidate` - - .. method:: Add(bb_list) - - Add a loop candidate to the list of candidates from a list of backbone positions - - :param bb_list: The backbone list - :type bb_list: :class:`BackboneList` - - .. method:: Remove(index) - - Remove a loop candidate from the list of candidates. - - :param index: The index of the candidate that will be removed - :type index: :class:`int` - - .. method:: AttachScorer(scorer) - - Attaches a scorer to the :class:`LoopCandidates`. The scorer contains the information about the environment of the loop candidates and is mandatory to calculate the different scores for the loop candidates. - - :param scorer: The scorer - :type scorer: :class:`BackboneLoopScorer` - - diff --git a/doc/html/_sources/loop/structure_db.txt b/doc/html/_sources/loop/structure_db.txt index 0f792588a93a6c6198fa4b9a22d4faad8a08c8d2..5841a3c225c1ef26472d2ff2567591ddd723cab1 100644 --- a/doc/html/_sources/loop/structure_db.txt +++ b/doc/html/_sources/loop/structure_db.txt @@ -572,8 +572,8 @@ ultra fast. :param frag_size: The length of the fragment :param extended_search: Whether an extended search should be performed, which will include fragments from bins surrounding the bin describing the **n_stem** and **c_stem** geometry. - :type n_stem: :class:`ost.mol.ResidueHandle` - :type c_stem: :class:`ost.mol.ResidueHandle` + :type n_stem: :class:`ost.mol.ResidueHandle` / :class:`Backbone` + :type c_stem: :class:`ost.mol.ResidueHandle` / :class:`Backbone` :type frag_size: :class:`float` :type extended_search: :class:`bool` @@ -707,19 +707,15 @@ arbitrary linear combination of following components: :type w: :class:`float` :type subst: :class:`ost.seq.SubstWeightMatrix` - .. method:: AddSSAgreeParameters(w, psipred_prediction, psipred_confidence) + .. method:: AddSSAgreeParameters(w, psipred_prediction) Add SSAgree score component with linear weight **w** :param w: linear weight - :param psipred_prediction: Secondary structure state ('H','E','C') as predicted - by PSIPRED for every item in the Fraggers target sequence - :param psipred_confidence: Confidence for secondary structure state ([0,9]) as predicted - by PSIPRED for every item in the Fraggers target sequence + :param psipred_prediction: Psipred prediction for fraggers target_sequence :type w: :class:`str` - :type psipred_prediction: :class:`list` - :type psipred_confidence: :class:`list` + :type psipred_prediction: :class:`PsipredPrediction` .. method:: AddSequenceProfileParameters(w, hmm) diff --git a/doc/html/_sources/modelling/index.txt b/doc/html/_sources/modelling/index.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc9b5ffa90638553702b4f1c4491c68d35e96baa --- /dev/null +++ b/doc/html/_sources/modelling/index.txt @@ -0,0 +1,394 @@ +:mod:`~promod3.modelling` - Protein Modelling +================================================================================ + +.. module:: promod3.modelling + :synopsis: Protein Modelling + +.. currentmodule:: promod3.modelling + +High-level functionality for protein modelling. +Commonly, your input is a template structure and an alignment of the template to +the desired target sequence. +A protein homology modelling pipeline then has the following main steps: + +- Build a raw model from the template (see :func:`BuildRawModel` function) +- Perform loop modelling to close all gaps (see :func:`FillLoopsByDatabase` and :func:`FillLoopsByMonteCarlo` function) +- Build sidechains (see :func:`BuildSidechains` function) +- Minimize energy of final model using molecular mechanics + (see :func:`MinimizeModelEnergy` function) + +The last steps to go from a raw model to a final model can easily be executed +with the :func:`BuildFromRawModel` function. In its simplest form, one can run +a full protein homology modelling pipeline as follows: + +.. code-block:: python + + from ost import io + from promod3 import modelling + + # get raw model + tpl = io.LoadPDB('data/1crn_cut.pdb') + aln = io.LoadAlignment('data/1crn.fasta') + aln.AttachView(1, tpl.CreateFullView()) + mhandle = modelling.BuildRawModel(aln) + + # build final model + final_model = modelling.BuildFromRawModel(mhandle) + io.SavePDB(final_model, 'model.pdb') + +If you want to run and tweak the internal steps, you can start with the +following code which is equivalent to the example above: + +.. code-block:: python + + from ost import io + from promod3 import modelling + + # setup + merge_distance = 4 + fragment_db = loop.LoadFragDB() + structure_db = loop.LoadStructureDB() + torsion_sampler = loop.LoadTorsionSamplerCoil() + + # get raw model + tpl = io.LoadPDB('data/1crn_cut.pdb') + aln = io.LoadAlignment('data/1crn.fasta') + aln.AttachView(1, tpl.CreateFullView()) + mhandle = modelling.BuildRawModel(aln) + + # perform loop modelling to close all gaps + scorer = modelling.SetupBackboneScorer(mhandle) + modelling.CloseSmallDeletions(mhandle, scorer) + modelling.RemoveTerminalGaps(mhandle) + for distance in range(merge_distance): + modelling.MergeGapsByDistance(mhandle, distance) + modelling.FillLoopsByDatabase(mhandle, scorer, fragment_db, + structure_db, torsion_sampler) + # if above fails on some gaps, use Monte Carlo + if len(mhandle.gaps) > 0: + modelling.FillLoopsByMonteCarlo(mhandle, scorer, torsion_sampler) + # build sidechains + modelling.BuildSidechains(mhandle) + # minimize energy of final model using molecular mechanics + modelling.MinimizeModelEnergy(mhandle) + + # extract final model + final_model = mhandle.model + io.SavePDB(final_model, 'model.pdb') + + +Modelling Pipeline +-------------------------------------------------------------------------------- + +.. function:: BuildRawModel(alignment) + BuildRawModel(alignments) + + Builds a raw (pseudo) model from the alignment. Can either take a single + alignment handle or an alignment handle list. Every list item is treated as a + single chain in the final raw model. + + Each alignment handle must contain exactly two sequences and the second + sequence is considered the template sequence, which must have a + :class:`~ost.mol.EntityView` attached. + + This is a basic protein core modelling algorithm that copies backbone + coordinates based on the sequence alignment. For matching residues, the + side chain coordinates are also copied. Gaps are ignored. Hydrogen an + deuterium atoms are not copied into the model. + + The function tries to reuse as much as possible from the template. Modified + residues are treated as follows: + + - Selenium methionine residues are converted to methionine + + - Side chains which contain all atoms of the parent amino acid, e.g. + phosphoserine are copied as a whole with the modifications stripped off. + + Residue numbers are set such that missing residue in gaps are honoured and + subsequent loop modelling can insert new residues without having to + renumber. + + The returned :class:`ModellingHandle` stores the obtained raw model as well + as information about insertions and deletions in the gaps list. + + :param alignment: Single alignment handle for raw model. + :type alignment: :class:`~ost.seq.AlignmentHandle` + + :param alignments: List of alignment handles for raw model with multiple chains. + :type alignments: :class:`~ost.seq.AlignmentList` + + :return: Raw (pseudo) model from the alignment. + :rtype: :class:`ModellingHandle` + + :raises: A :exc:`RuntimeError` when the second sequence does not have an + attached structure + +.. autofunction:: BuildFromRawModel + +.. autofunction:: BuildSidechains + +.. autofunction:: MinimizeModelEnergy + + +Closing Gaps +-------------------------------------------------------------------------------- + +.. autofunction:: SetupBackboneScorer + +.. autofunction:: CloseSmallDeletions + +.. function:: RemoveTerminalGaps(mhandle) + + :param mhandle: Modelling handle on which to apply change. + :type mhandle: :class:`ModellingHandle` + + :return: Number of gaps which were removed. + :rtype: :class:`int` + +.. autofunction:: MergeGapsByDistance + +.. autofunction:: FillLoopsByDatabase + +.. autofunction:: FillLoopsByMonteCarlo + +.. function:: ClearGaps(mhandle, gap) + + Removes all gaps from mhandle which are fully enclosed by given gap. + + :param mhandle: Modelling handle on which to apply change. + :type mhandle: :class:`ModellingHandle` + :param gap: Gap defining range in which gaps are to be removed. + :type gap: :class:`StructuralGap` + + :return: Index of next gap in mhandle.gaps after removal. + Returns -1 if last gap was removed. + :rtype: :class:`int` + + :raises: A :exc:`RuntimeError` if any gap in mhandle.gaps is only partially + enclosed by given gap. + +.. function:: MergeGaps(mhandle, index) + + Merges two gaps mhandle.gaps[index] and mhandle.gaps[index+1]. + + :param mhandle: Modelling handle on which to apply change. + :type mhandle: :class:`ModellingHandle` + :param index: Index of gap to merge with next one. + :type index: :class:`int` + + :raises: A :exc:`RuntimeError` if indices out of range or if trying to merge + N-terminal gap with a C-terminal gap. + + +Modelling Handle class +-------------------------------------------------------------------------------- + +.. class:: ModellingHandle + + Handles the result for structure model building and provides high-level methods + to turn an initial raw model (see :func:`~promod3.modelling.BuildRawModel`) + into a complete protein model by removing any existing gaps. + + .. attribute:: model + + The resulting model. + + :type: :class:`~ost.mol.EntityHandle` + + .. attribute:: gaps + + List of gaps in the model that could not be copied from the template. These + gaps may be the result of insertions/deletions in the alignment or due to + missing or incomplete backbone coordinates in the template structure. + Gaps of different chains are appended one after another. + + :type: :class:`StructuralGapList` + + .. attribute:: seqres + + List of sequences with one :class:`~ost.seq.SequenceHandle` for each chain + of target protein. + + :type: :class:`~ost.seq.SequenceList` + + +Gap classes +-------------------------------------------------------------------------------- + +.. class:: StructuralGap(before, after, seq) + + Describes a structural gap, i.e. a loop to be modeled. The gap may either be + terminal or between two defined regions. The gap stores information of the + last residue before and the first residue after the gap as well as the + sequence of gap. Gaps at the N- and C-terminals can be defined by passing + invalid residue handles to `before` or `after`. + + :param before: Fills :attr:`before` + :type before: :class:`ost.mol.ResidueHandle` + :param after: Fills :attr:`after` + :type after: :class:`ost.mol.ResidueHandle` + :param seq: Fills :attr:`seq` + :type seq: :class:`str` + + :raises: A :exc:`RuntimeError` if both residues are invalid or when both + are valid and: + + - residues are from different chains (if both valid) + - `before` is located after `after` + - `seq` has a length which is inconsistent with the gap + + .. method:: GetChainIndex() + + :return: Index of chain, the gap is belonging to + :rtype: :class:`int` + + .. method:: GetChainName() + + :return: Name of chain, the gap is belonging to + :rtype: :class:`str` + + .. method:: GetChain() + + :return: Chain, the gap is belonging to + :rtype: :class:`ost.mol.ChainHandle` + + .. method:: IsNTerminal() + + :return: True, iff gap is N-terminal (i.e. :attr:`before` is invalid + and :attr:`after` is valid) + :rtype: :class:`bool` + + .. method:: IsCTerminal() + + :return: True, iff gap is C-terminal (i.e. :attr:`before` is valid + and :attr:`after` is invalid) + :rtype: :class:`bool` + + .. method:: IsTerminal() + + :return: True, iff gap is N- or C-terminal + :rtype: :class:`bool` + + .. method:: ShiftCTerminal() + + Try to shift gap by one position towards C-terminal. Only possible if new + gap is not terminal and it doesn't try to shift the gap past another gap. + + :return: True, iff shift succeeded (gap is only updated in that case) + :rtype: :class:`bool` + + .. method:: ExtendAtNTerm() + + Try to extend gap at N-terminal end of gap. + Only possible if the gap is not at N-terminal and it doesn't try to + extend the gap past another gap. + + :return: True, iff extend succeeded (gap is only updated in that case) + :rtype: :class:`bool` + + .. method:: ExtendAtCTerm() + + Try to extend gap at C-terminal end of gap. + Only possible if the gap is not at C-terminal and it doesn't try to + extend the gap past another gap. + + :return: True, iff extend succeeded (gap is only updated in that case) + :rtype: :class:`bool` + + .. method:: GetLength() + + :return: Length of the gap. + :rtype: :class:`int` + + .. method:: Copy() + + :return: Copy of the gap. + :rtype: :class:`StructuralGap` + + .. attribute:: length + + Alias for :meth:`GetLength()` (read-only, :class:`int`) + + .. attribute:: seq + + Sequence string for the gap (read-only, :class:`str`) + + .. attribute:: before + + Residue before the gap (read-only, :class:`ost.mol.ResidueHandle`) + + .. attribute:: after + + Residue after the gap (read-only, :class:`ost.mol.ResidueHandle`) + + .. attribute:: full_seq + + Full sequence, including stem residues (read-only) + +.. class:: StructuralGapList + + Represents a :class:`list` of :class:`StructuralGap`. + + +Gap Extender classes +-------------------------------------------------------------------------------- + +The extender classes work on a given :class:`StructuralGap` and provide an +Extend() function to propose new gaps for loop modelling. The function returns +False if no new extension possible. + +.. class:: GapExtender(gap) + + The extender cycles through the following steps: + + .. code-block:: none + + - + -- + -- + --- + --- + --- + ---- + ---- + ---- + ---- + + :param gap: The gap which will be extended by :meth:`Extend`. + :type gap: :class:`StructuralGap` + + .. method:: Extend() + + Tries to extend `gap`. + + :return: False, iff the gap cannot be extended any further. + :rtype: :class:`bool` + +.. class:: ScoringGapExtender(gap, extension_penalty, penalties) + + The extender scores possible gap extensions and returns them in order of + their score when :meth:`Extend` is called. + The score is penalized according to length and according to certain (well + conserved) regions in the structure. + score = length * `extension_penalty` + sum( `penalties` [i] ) + (i = res.num. of residues in extension) + + :param gap: The gap which will be extended by :meth:`Extend`. + :type gap: :class:`StructuralGap` + :param extension_penalty: Penalty for length of gap. + :type extension_penalty: :class:`float` + :param penalties: Penalty for each residue added to gap. + :type penalties: :class:`list` of :class:`float` + + .. method:: Extend() + + Tries to extend `gap`. + + :return: False, iff the gap cannot be extended any further. + :rtype: :class:`bool` + +.. LocalWords: currentmodule promod aln AttachView BuildRawModel pdb calpha +.. LocalWords: ModellingHandle StructuralGapList modelling Modelling os ost +.. LocalWords: testcode tempfile io LoadAlignment LoadPDB fh fn doctest API +.. LocalWords: modelling phosphoserine param exc RuntimeError automethod +.. LocalWords: CloseSmallDeletions diff --git a/doc/html/_sources/pipeline/index.txt b/doc/html/_sources/pipeline/index.txt deleted file mode 100644 index 74e684f49abdafcef6d23eb96fc8c967101a7f78..0000000000000000000000000000000000000000 --- a/doc/html/_sources/pipeline/index.txt +++ /dev/null @@ -1,14 +0,0 @@ -:mod:`~promod3.pipeline` - ProMod3 Modelling Pipeline -================================================================================ - -.. module:: promod3.pipeline - :synopsis: Everything needed for building actual models. - -This module gathers the different aspects of creating coordinates for a -homology model. The intention is to provide easy access to the modelling engine -for external applications. - -.. toctree:: - :maxdepth: 2 - - run_engine diff --git a/doc/html/_sources/pipeline/run_engine.txt b/doc/html/_sources/pipeline/run_engine.txt deleted file mode 100644 index 753130aa5394271613865df4e5e5daa224caa646..0000000000000000000000000000000000000000 --- a/doc/html/_sources/pipeline/run_engine.txt +++ /dev/null @@ -1,20 +0,0 @@ -:mod:`~promod3.pipeline.run_engine` - Build Models From Various Starting Points -================================================================================ - -.. currentmodule:: promod3.pipeline.run_engine - -Introduction --------------------------------------------------------------------------------- -This is a collection of functions to just build models. All steps needed to go from various starting points to a complete model are wrapped in single function calls. That way, if something changes in the default pipeline, e.g. on general improvements, there is no need to change code depending on |project| to adapt. - - -- also convenient for developing new stuff -- e.g. you want to transform the template coordinates in some way, but then just - want to see them in a model, go by BuildFromRawModel -- or if you have a fancy way of post-processing, sth like a new way of going - ligand, build a model easily here, then do whatever you want with the result -- examples should come with the API - -.. autofunction:: BuildFromRawModel - -.. LocalWords: currentmodule BuildFromRawModel API autofunction diff --git a/doc/html/_sources/rawmodel/index.txt b/doc/html/_sources/rawmodel/index.txt deleted file mode 100644 index e1c3630597ff54466a9ab97b7e5577a235e30456..0000000000000000000000000000000000000000 --- a/doc/html/_sources/rawmodel/index.txt +++ /dev/null @@ -1,104 +0,0 @@ -:mod:`~promod3.rawmodel` - Coordinate Modelling -================================================================================ - -.. module:: promod3.rawmodel - :synopsis: Raw Coordinate Model - -.. currentmodule:: promod3.rawmodel - -Functionality to build raw (pseudo) models based on a sequence alignment. -Here is an example of how to build a model from an alignment and a structure. - -.. testcode:: rawmodel - :hide: - - import os - import tempfile - from ost import io - from promod3 import rawmodel - - aln = io.LoadAlignment('../tests/rawmodel/data/raw-modeling/seq.fasta') - template_structure = io.LoadPDB('../tests/rawmodel/data/raw-modeling/gly.pdb', - restrict_chains='A') - aln.AttachView(1, template_structure.Select('peptide=true')) - result = rawmodel.BuildRawModel(aln) - (fh, fn) = tempfile.mkstemp(suffix='.pdb') - io.SavePDB(result.model, fn) - os.remove(fn) - -.. doctest:: rawmodel - - from ost import io - from promod3 import rawmodel - - aln = io.LoadAlignment('seq.fasta') - template_structure = io.LoadPDB('gly.pdb', restrict_chains='A') - aln.AttachView(1, template_structure.Select('peptide=true')) - result = rawmodel.BuildRawModel(aln) - io.SavePDB(result.model, 'model.pdb') - - -Raw Coordinate Modelling API --------------------------------------------------------------------------------- - -.. function:: BuildRawModel(alignment, calpha_only=False) - BuildRawModel(alignments, calpha_only=False) - - Builds a raw (pseudo) model from the alignment. Can either take a single - alignment handle or an alignment handle list. Every list item is treated as a - single chain in the final raw model. - - This is a basic protein core modelling algorithm that copies backbone - coordinates based on the sequence alignment. For matching residues, the - side chain coordinates are also copied. Gaps are ignored. Hydrogen an - deuterium atoms are not copied into the model. - - The function tries to reuse as much as possible from the template. Modified - residues are treated as follows: - - - Selenium methionine residues are converted to methionine - - - Side chains which contain all atoms of the parent amino acid, e.g. - phosphoserine are copied as a whole with the modifications stripped off. - - Residue numbers are set such that missing residue in gaps are honoured and - subsequent loop modelling can insert new residues without having to - renumber. - - The returned :class:`RawModelingResult` stores the obtained raw model as well - as information about insertions and deletions in the gaps list. - - :param calpha_only: If true, only Calpha atoms will be copied. Side chains - and other backbone atoms are completely ignored. - :raises: A :exc:`RuntimeError` when the second sequence does not have an - attached structure - -.. class:: RawModelingResult - - Holds the result of raw model building. Incredibly minimalistic for now. Will - most likely grow a few more members over time to, e.g. to store a detailed - report. - - .. attribute:: model - - The resulting model. - - :type: :class:`~ost.mol.EntityHandle` - - .. attribute:: gaps - - List of gaps in the model that could not be copied from the template. These - gaps may be the result of insertions/deletions in the alignment or due to - missing or incomplete backbone coordinates in the template structure. - - :type: :class:`StructuralGapList` - - .. automethod:: CloseSmallDeletions - - .. automethod:: MergeGapsByDistance - -.. LocalWords: currentmodule promod aln AttachView BuildRawModel pdb calpha -.. LocalWords: RawModelingResult StructuralGapList rawmodel Modelling os ost -.. LocalWords: testcode tempfile io LoadAlignment LoadPDB fh fn doctest API -.. LocalWords: modelling phosphoserine param exc RuntimeError automethod -.. LocalWords: CloseSmallDeletions diff --git a/doc/html/_sources/sidechain/index.txt b/doc/html/_sources/sidechain/index.txt index 6a1bee166fe33f04d6109aae26314fc3b7c574d3..d063aa8beb54635e8775d6e07cc6a3ab6711e7f0 100644 --- a/doc/html/_sources/sidechain/index.txt +++ b/doc/html/_sources/sidechain/index.txt @@ -15,14 +15,12 @@ implemented in PROMOD3 and can be applied in flexible ways. Reconstruct Function -------------------------------------------------------------------------------- -.. currentmodule:: promod3.sidechain.reconstruct_sidechains - The simplest usage of the module is provided by the :func:`Reconstruct` function: .. code-block:: python from ost import io,mol - from promod3.sidechain import reconstruct_sidechains + from promod3 import sidechain #load a protein prot = io.LoadPDB('1eye',remote=True) @@ -30,12 +28,12 @@ The simplest usage of the module is provided by the :func:`Reconstruct` function prot = mol.CreateEntityFromView(prot.Select("peptide=true"),True) io.SavePDB(prot,"sidechain_test_orig.pdb") #reconstruct sidechains - reconstruct_sidechains.Reconstruct(prot) + sidechain.Reconstruct(prot) io.SavePDB(prot,"sidechain_test_rec.pdb") -.. method:: Reconstruct(prot,[,keep_sidechains=False,build_disulfids,rotamer_model="frm",consider_hbonds=True,rotamer_library=None,add_polar_hydrogens=False]) - - .. currentmodule:: promod3.sidechain +.. method:: Reconstruct(prot, keep_sidechains=False, build_disulfids, \ + rotamer_model="frm", consider_hbonds=True, \ + rotamer_library=None, add_polar_hydrogens=False) The function takes a structure and reconstructs its sidechains given the input parameters. @@ -44,9 +42,9 @@ The simplest usage of the module is provided by the :func:`Reconstruct` function sidechain reconstruction gets directly applied on the structure itself. - :param keep_sidechains: Flag, whether sidechains containing all required - should be kept rigid and directly be added to the - frame. + :param keep_sidechains: Flag, whether complete sidechains in *prot* (i.e. + containing all required atoms) should be kept rigid + and directly be added to the frame. :param build_disulfids: Flag, whether possible disulfid bonds should be searched. If a disulfid bond is found, the two @@ -68,7 +66,6 @@ The simplest usage of the module is provided by the :func:`Reconstruct` function If this flag is activated, they'll be added to the structure. - :type prot: :class:`ost.mol.EntityHandle` :type keep_sidechains: :class:`bool` :type build_disulfids: :class:`bool` @@ -81,12 +78,12 @@ The simplest usage of the module is provided by the :func:`Reconstruct` function Sidechain Module Functionality -------------------------------------------------------------------------------- -.. currentmodule:: promod3.sidechain - The following code fragment shows an example of a basic sidechain reconstruction algorithm using the functionality in the module. Note, that this code will crash as soon as you have structures containing all the weirdness the PDB throws -at us. In this case, you should use the :func:`~promod3.sidechain.reconstruct_sidechains.Reconstruct` function above. An overview of the full provided functionality can be found at the bottom of this page. +at us. In this case, you should use the :func:`~promod3.sidechain.Reconstruct` +function above. An overview of the full provided functionality can be found at +the bottom of this page. .. code-block:: python diff --git a/doc/html/actions/index_dev.html b/doc/html/actions/index_dev.html index f7100ea7f67424bd657f882f311242944d513826..7e4e66b186999f41c3048dbf14c3b032bf718d64 100644 --- a/doc/html/actions/index_dev.html +++ b/doc/html/actions/index_dev.html @@ -6,7 +6,7 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>test_actions.ActionTestCase - Testing Actions — ProMod3 0 documentation</title> + <title>test_actions - Testing Actions — ProMod3 0 documentation</title> <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> @@ -40,7 +40,7 @@ <div class="body" role="main"> <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> +<span id="test-actions-testing-actions"></span><h1><a class="reference internal" href="#module-test_actions" title="test_actions: Testing Actions"><code class="xref py py-mod docutils literal"><span class="pre">test_actions</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 @@ -357,7 +357,7 @@ file (also complains if a directory is found instead).</p> <div class="sphinxsidebarwrapper"> <h3><a href="../index.html">Table Of Contents</a></h3> <ul> -<li><a class="reference internal" href="#"><code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code> - Testing Actions</a><ul> +<li><a class="reference internal" href="#"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a><ul> <li><a class="reference internal" href="#creating-an-action-unit-test-script">Creating an Action Unit Test Script</a><ul> <li><a class="reference internal" href="#the-test-script">The Test Script</a></li> <li><a class="reference internal" href="#cmake-integration">CMake Integration</a></li> diff --git a/doc/html/buildsystem.html b/doc/html/buildsystem.html index 567594d728c2eceb250a275fef02b8cc9d2daff2..b75a8b1d38289d4a17a0e19dbdff65ca71063856 100644 --- a/doc/html/buildsystem.html +++ b/doc/html/buildsystem.html @@ -26,7 +26,7 @@ <link rel="top" title="ProMod3 0 documentation" href="index.html" /> <link rel="up" title="Documentation For Developers" href="developers.html" /> <link rel="next" title="Contributing" href="contributing.html" /> - <link rel="prev" title="test_actions.ActionTestCase - Testing Actions" href="actions/index_dev.html" /> + <link rel="prev" title="test_actions - Testing Actions" href="actions/index_dev.html" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> @@ -157,7 +157,7 @@ builder</li> <ul> <li><a href="index.html">Documentation overview</a><ul> <li><a href="developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="actions/index_dev.html" title="previous chapter"><code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code> - Testing Actions</a></li> + <li>Previous: <a href="actions/index_dev.html" title="previous chapter"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a></li> <li>Next: <a href="contributing.html" title="next chapter">Contributing</a></li> </ul></li> </ul></li> diff --git a/doc/html/changelog.html b/doc/html/changelog.html index 657d2efb1521cddc2692ba4d96df600a99cd732e..af462e81b4a86a8a687b15f65ec5e1d21d536219 100644 --- a/doc/html/changelog.html +++ b/doc/html/changelog.html @@ -63,6 +63,7 @@ <blockquote> <div><ul class="simple"> <li>merged argcheck into the helper module</li> +<li>rawmodel renamed to modelling and including high-level modelling functions</li> </ul> </div></blockquote> </div> diff --git a/doc/html/contributing.html b/doc/html/contributing.html index 3dbbfa782340ffd20b5e699b56f9dec2e408883a..8198e48aa37cd5caa0b500065086692da998dd2a 100644 --- a/doc/html/contributing.html +++ b/doc/html/contributing.html @@ -145,14 +145,16 @@ case <code class="docutils literal"><span class="pre">develop</span></code> may <p>Git hooks are scripts invoked by Git in connection to certain commands. ProMod3 currently provides one for <strong class="command">commit</strong>. It is installed by</p> <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> cp extras/pre_commit/pre-commit .git/hooks/ -<span class="gp">$</span> </pre></div> </div> <p>Its task is applying coding standards and doing a bunch of other checks on the -files involved in a commit. Everything around the script is hosted in <code class="file docutils literal"><span class="pre">extras/pre_commit/</span></code>.</p> +files involved in a commit. Everything around the script is hosted in +<code class="file docutils literal"><span class="pre">extras/pre_commit/</span></code>. The checks can be manually executed with</p> +<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> python .git/hooks/pre-commit +</pre></div> +</div> <p>If you ever have to skip the hook,</p> <div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> git commit --no-verify -<span class="gp">$</span> </pre></div> </div> <p>does the trick. <strong>But</strong> checks are always run on the complete file containing @@ -608,7 +610,7 @@ top level <code class="file docutils literal"><span class="pre">CMakeLists.txt</ <span class="c">## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt</span> <span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">config</span><span class="p">)</span> <span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">core</span><span class="p">)</span> -<span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">rawmodel</span><span class="p">)</span> +<span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">modelling</span><span class="p">)</span> <span class="hll"><span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">sidechains</span><span class="p">)</span> </span><span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">loop</span><span class="p">)</span> <span class="nb">add_subdirectory</span><span class="p">(</span><span class="s">scripts</span><span class="p">)</span> @@ -811,10 +813,10 @@ to check later, if code changes break anything. Start with a file </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 internal" href="actions/index_dev.html#module-test_actions" title="test_actions: Testing 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> +documentation of <a class="reference internal" href="actions/index_dev.html#module-test_actions" title="test_actions: Testing 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> diff --git a/doc/html/core/helper.html b/doc/html/core/helper.html index 30dbc497fe7655932f526096f1d8028a241952fa..dd2e46e88b7b85f27e0d727c30948e7ad4a13a2d 100644 --- a/doc/html/core/helper.html +++ b/doc/html/core/helper.html @@ -25,7 +25,7 @@ <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" /> - <link rel="next" title="pipeline - ProMod3 Modelling Pipeline" href="../pipeline/index.html" /> + <link rel="next" title="modelling - Protein Modelling" href="../modelling/index.html" /> <link rel="prev" title="pm3argparse - Parsing Command Lines" href="pm3argparse.html" /> @@ -39,8 +39,8 @@ <div class="bodywrapper"> <div class="body" role="main"> - <div class="section" id="helper-shared-functionality-for-the-everything"> -<h1><code class="xref py py-mod docutils literal"><span class="pre">helper</span></code> - Shared Functionality For the Everything<a class="headerlink" href="#helper-shared-functionality-for-the-everything" title="Permalink to this headline">¶</a></h1> + <div class="section" id="module-promod3.core.helper"> +<span id="helper-shared-functionality-for-the-everything"></span><h1><a class="reference internal" href="#module-promod3.core.helper" title="promod3.core.helper: Helper functions"><code class="xref py py-mod docutils literal"><span class="pre">helper</span></code></a> - Shared Functionality For the Everything<a class="headerlink" href="#module-promod3.core.helper" title="Permalink to this headline">¶</a></h1> <div class="section" id="introduction"> <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2> <p>We collect functions here, which should be useful in many places but would make @@ -213,7 +213,7 @@ script will terminate if a gzip file is found.</li> <li><a href="../developers.html">Documentation For Developers</a><ul> <li><a href="index.html"><code class="docutils literal"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul> <li>Previous: <a href="pm3argparse.html" title="previous chapter"><code class="docutils literal"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li> - <li>Next: <a href="../pipeline/index.html" title="next chapter"><code class="docutils literal"><span class="pre">pipeline</span></code> - ProMod3 Modelling Pipeline</a></li> + <li>Next: <a href="../modelling/index.html" title="next chapter"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a></li> </ul></li> </ul></li> </ul></li> diff --git a/doc/html/core/pm3argparse.html b/doc/html/core/pm3argparse.html index 78a102afe49f4e4aa9ae4fa7bade9a945b2831be..e62a5ad098153ad5ff41cea96daf5d86540f831e 100644 --- a/doc/html/core/pm3argparse.html +++ b/doc/html/core/pm3argparse.html @@ -40,7 +40,7 @@ <div class="body" role="main"> <div class="section" id="module-promod3.core.pm3argparse"> -<span id="pm3argparse-parsing-command-lines"></span><h1><a class="reference internal" href="#module-promod3.core.pm3argparse" title="promod3.core.pm3argparse"><code class="xref py py-mod docutils literal"><span class="pre">pm3argparse</span></code></a> - Parsing Command Lines<a class="headerlink" href="#module-promod3.core.pm3argparse" title="Permalink to this headline">¶</a></h1> +<span id="pm3argparse-parsing-command-lines"></span><h1><a class="reference internal" href="#module-promod3.core.pm3argparse" title="promod3.core.pm3argparse: Argument Parsing"><code class="xref py py-mod docutils literal"><span class="pre">pm3argparse</span></code></a> - Parsing Command Lines<a class="headerlink" href="#module-promod3.core.pm3argparse" title="Permalink to this headline">¶</a></h1> <div class="section" id="introduction"> <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2> <p>A lot of the actions in ProMod3 have a bunch of command line parameters/ diff --git a/doc/html/core/setcompoundschemlib.html b/doc/html/core/setcompoundschemlib.html index 57a724568d4d01cb9fe312efb31db03fa4fc6127..9ddbda7e05713d244b46931766b0e961ce5e902c 100644 --- a/doc/html/core/setcompoundschemlib.html +++ b/doc/html/core/setcompoundschemlib.html @@ -26,7 +26,7 @@ <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="Documentation For Developers" href="../developers.html" /> <link rel="next" title="core - ProMod3 Core Functionality" href="index.html" /> - <link rel="prev" title="Documentation For Developers" href="../developers.html" /> + <link rel="prev" title="Getting Started" href="../gettingstarted.html" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> @@ -75,7 +75,7 @@ enabled globally.</p> <ul> <li><a href="../index.html">Documentation overview</a><ul> <li><a href="../developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="../developers.html" title="previous chapter">Documentation For Developers</a></li> + <li>Previous: <a href="../gettingstarted.html" title="previous chapter">Getting Started</a></li> <li>Next: <a href="index.html" title="next chapter"><code class="docutils literal"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li> </ul></li> </ul></li> diff --git a/doc/html/developers.html b/doc/html/developers.html index 4174ce715e8cce8095da3260c7c68f2f7d72587b..9e7b87f44140e4edff017d3b3c3a005044a50512 100644 --- a/doc/html/developers.html +++ b/doc/html/developers.html @@ -54,12 +54,12 @@ <li class="toctree-l2"><a class="reference internal" href="core/helper.html"><code class="docutils literal"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="pipeline/index.html"><code class="docutils literal"><span class="pre">pipeline</span></code> - ProMod3 Modelling Pipeline</a><ul> -<li class="toctree-l2"><a class="reference internal" href="pipeline/run_engine.html"><code class="docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points</a></li> -</ul> -</li> -<li class="toctree-l1"><a class="reference internal" href="rawmodel/index.html"><code class="docutils literal"><span class="pre">rawmodel</span></code> - Coordinate Modelling</a><ul> -<li class="toctree-l2"><a class="reference internal" href="rawmodel/index.html#raw-coordinate-modelling-api">Raw Coordinate Modelling API</a></li> +<li class="toctree-l1"><a class="reference internal" href="modelling/index.html"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a><ul> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html#modelling-pipeline">Modelling Pipeline</a></li> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html#closing-gaps">Closing Gaps</a></li> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html#modelling-handle-class">Modelling Handle class</a></li> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html#gap-classes">Gap classes</a></li> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html#gap-extender-classes">Gap Extender classes</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="loop/index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a><ul> @@ -69,8 +69,8 @@ <li class="toctree-l2"><a class="reference internal" href="loop/loop_closing.html">Closing Loops - adapt them to the environment</a></li> <li class="toctree-l2"><a class="reference internal" href="loop/backbone_loop_score.html">Loop Scoring</a></li> <li class="toctree-l2"><a class="reference internal" href="loop/monte_carlo.html">Generating Loops DeNovo</a></li> -<li class="toctree-l2"><a class="reference internal" href="loop/loop_candidate.html">Handle several loop candidates at once</a></li> <li class="toctree-l2"><a class="reference internal" href="loop/load_loop_objects.html">Loading Precomputed Loop Objects</a></li> +<li class="toctree-l2"><a class="reference internal" href="loop/helper_classes.html">Helper Classes</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul> @@ -78,7 +78,7 @@ <li class="toctree-l2"><a class="reference internal" href="sidechain/index.html#sidechain-module-functionality">Sidechain Module Functionality</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code> - Testing Actions</a><ul> +<li class="toctree-l1"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a><ul> <li class="toctree-l2"><a class="reference internal" href="actions/index_dev.html#creating-an-action-unit-test-script">Creating an Action Unit Test Script</a></li> <li class="toctree-l2"><a class="reference internal" href="actions/index_dev.html#unit-test-actions-api">Unit Test Actions API</a></li> </ul> diff --git a/doc/html/genindex.html b/doc/html/genindex.html index 1e85ebb707a55b10223eb04aa23663862d3d076f..ebe2eb9a36a6434146d3bb12d915e95eb48fd1a8 100644 --- a/doc/html/genindex.html +++ b/doc/html/genindex.html @@ -105,6 +105,10 @@ <dd><dl> + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.__len__">(promod3.loop.PsipredPrediction method)</a> + </dt> + + <dt><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.__len__">(promod3.sidechain.FRMRotamer method)</a> </dt> @@ -148,9 +152,15 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.Add">Add() (promod3.loop.LoopCandidates method)</a>, <a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.Add">[1]</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.Add">Add() (promod3.loop.LoopCandidates method)</a>, <a href="loop/helper_classes.html#promod3.loop.LoopCandidates.Add">[1]</a> + </dt> + + <dd><dl> + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.Add">(promod3.loop.PsipredPrediction method)</a> </dt> + </dl></dd> <dt> add_doc_dependency @@ -226,15 +236,19 @@ </dt> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.after">after (promod3.modelling.StructuralGap attribute)</a> + </dt> + + <dt><a href="loop/backbone.html#promod3.loop.BackboneList.append">append() (promod3.loop.BackboneList method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ApplyCCD">ApplyCCD() (promod3.loop.LoopCandidates method)</a>, <a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ApplyCCD">[1]</a>, <a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ApplyCCD">[2]</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.ApplyCCD">ApplyCCD() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ApplyKIC">ApplyKIC() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.ApplyKIC">ApplyKIC() (promod3.loop.LoopCandidates method)</a> </dt> @@ -282,7 +296,7 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.AttachScorer">AttachScorer() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.AttachScorer">AttachScorer() (promod3.loop.LoopCandidates method)</a> </dt> </dl></td> @@ -311,14 +325,14 @@ <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer">BackboneLoopScorer (class in promod3.loop)</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="loop/loop_closing.html#promod3.loop.BackboneRelaxer">BackboneRelaxer (class in promod3.loop)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.bb_list">bb_list (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.bb_list">bb_list (promod3.loop.LoopCandidate attribute)</a> </dt> @@ -326,11 +340,19 @@ </dt> - <dt><a href="pipeline/run_engine.html#promod3.pipeline.run_engine.BuildFromRawModel">BuildFromRawModel() (in module promod3.pipeline.run_engine)</a> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.before">before (promod3.modelling.StructuralGap attribute)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.BuildFromRawModel">BuildFromRawModel() (in module promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.BuildRawModel">BuildRawModel() (in module promod3.modelling)</a> </dt> - <dt><a href="rawmodel/index.html#promod3.rawmodel.BuildRawModel">BuildRawModel() (in module promod3.rawmodel)</a> + <dt><a href="modelling/index.html#promod3.modelling.BuildSidechains">BuildSidechains() (in module promod3.modelling)</a> </dt> </dl></td> @@ -348,7 +370,7 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateBetaScores">CalculateBetaScores() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateBetaScores">CalculateBetaScores() (promod3.loop.LoopCandidates method)</a> </dt> @@ -364,19 +386,15 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateClasScores">CalculateClasScores() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateClasScores">CalculateClasScores() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.CalculateDSSPHBondScore">CalculateDSSPHBondScore() (promod3.loop.BackboneLoopScorer method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateCombinedScores">CalculateCombinedScores() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateDSSPHBondScores">CalculateDSSPHBondScores() (promod3.loop.LoopCandidates method)</a> - </dt> - - - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateHBondcores">CalculateHBondcores() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateHBondcores">CalculateHBondcores() (promod3.loop.LoopCandidates method)</a> </dt> @@ -404,11 +422,23 @@ </dl></dd> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculatePackingScores">CalculatePackingScores() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculatePackingScores">CalculatePackingScores() (promod3.loop.LoopCandidates method)</a> + </dt> + + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.CalculateReducedScore">CalculateReducedScore() (promod3.loop.BackboneLoopScorer method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateStemRMSD">CalculateStemRMSD() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateReducedScores">CalculateReducedScores() (promod3.loop.LoopCandidates method)</a> + </dt> + + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.CalculateSSAgreementScore">CalculateSSAgreementScore() (promod3.loop.BackboneLoopScorer method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateSSAgreementScores">CalculateSSAgreementScores() (promod3.loop.LoopCandidates method)</a> </dt> @@ -416,7 +446,7 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.CalculateTorsionScores">CalculateTorsionScores() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.CalculateTorsionScores">CalculateTorsionScores() (promod3.loop.LoopCandidates method)</a> </dt> @@ -425,7 +455,7 @@ <dd><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.CARMSD">(promod3.loop.LoopCandidate method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.CARMSD">(promod3.loop.LoopCandidate method)</a> </dt> </dl></dd> @@ -434,7 +464,7 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.cbeta_score">cbeta_score (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.cbeta_score">cbeta_score (promod3.loop.LoopCandidate attribute)</a> </dt> @@ -445,12 +475,12 @@ <dt><a href="loop/loop_closing.html#promod3.loop.CCD.CCD">CCD() (promod3.loop.CCD method)</a>, <a href="loop/loop_closing.html#promod3.loop.CCD.CCD">[1]</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="loop/monte_carlo.html#promod3.loop.CCDCloser">CCDCloser (class in promod3.loop)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="loop/structure_db.html#promod3.loop.FragmentInfo.chain_index">chain_index (promod3.loop.FragmentInfo attribute)</a> </dt> @@ -472,7 +502,15 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.clash_score">clash_score (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.clash_score">clash_score (promod3.loop.LoopCandidate attribute)</a> + </dt> + + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.ClearEnvironment">ClearEnvironment() (promod3.loop.BackboneLoopScorer method)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.ClearGaps">ClearGaps() (in module promod3.modelling)</a> </dt> @@ -498,11 +536,15 @@ </dl></dd> - <dt><a href="rawmodel/index.html#promod3.rawmodel.RawModelingResult.CloseSmallDeletions">CloseSmallDeletions() (promod3.rawmodel.RawModelingResult method)</a> + <dt><a href="modelling/index.html#promod3.modelling.CloseSmallDeletions">CloseSmallDeletions() (in module promod3.modelling)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ClusterCandidates">ClusterCandidates() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.ClusterCandidates">ClusterCandidates() (promod3.loop.LoopCandidates method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.combined_score">combined_score (promod3.loop.LoopCandidate attribute)</a> </dt> @@ -561,6 +603,10 @@ </dt> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.Copy">Copy() (promod3.modelling.StructuralGap method)</a> + </dt> + + <dt><a href="sidechain/graph.html#promod3.sidechain.Graph.CreateFromFRMList">CreateFromFRMList() (promod3.sidechain.Graph static method)</a> </dt> @@ -600,10 +646,6 @@ <dt><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPsiGivenPhi">DrawPsiGivenPhi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPsiGivenPhi">[1]</a> </dt> - - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.dssp_hbond_score">dssp_hbond_score (promod3.loop.LoopCandidate attribute)</a> - </dt> - </dl></td> </tr></table> @@ -614,9 +656,31 @@ <dt><a href="loop/monte_carlo.html#promod3.loop.ExponentialCooler">ExponentialCooler (class in promod3.loop)</a> </dt> + + <dt><a href="modelling/index.html#promod3.modelling.GapExtender.Extend">Extend() (promod3.modelling.GapExtender method)</a> + </dt> + + <dd><dl> + + <dt><a href="modelling/index.html#promod3.modelling.ScoringGapExtender.Extend">(promod3.modelling.ScoringGapExtender method)</a> + </dt> + + </dl></dd> + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.ExtendAtCTerm">ExtendAtCTerm() (promod3.modelling.StructuralGap method)</a> + </dt> + </dl></td> <td style="width: 33%" valign="top"><dl> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.ExtendAtNTerm">ExtendAtNTerm() (promod3.modelling.StructuralGap method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.Extract">Extract() (promod3.loop.PsipredPrediction method)</a> + </dt> + + <dt><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.ExtractStatistics">ExtractStatistics() (promod3.loop.TorsionSampler method)</a> </dt> @@ -643,11 +707,19 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.FillFromDatabase">FillFromDatabase() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.FillFromDatabase">FillFromDatabase() (promod3.loop.LoopCandidates static method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.FillFromMonteCarloSampler">FillFromMonteCarloSampler() (promod3.loop.LoopCandidates method)</a>, <a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.FillFromMonteCarloSampler">[1]</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.FillFromMonteCarloSampler">FillFromMonteCarloSampler() (promod3.loop.LoopCandidates static method)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.FillLoopsByDatabase">FillLoopsByDatabase() (in module promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.FillLoopsByMonteCarlo">FillLoopsByMonteCarlo() (in module promod3.modelling)</a> </dt> @@ -658,12 +730,12 @@ <dt><a href="loop/structure_db.html#promod3.loop.Fragger">Fragger (class in promod3.loop)</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="loop/structure_db.html#promod3.loop.Fragger.Fragger">Fragger() (promod3.loop.Fragger method)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="loop/structure_db.html#promod3.loop.FragmentInfo">FragmentInfo (class in promod3.loop)</a> </dt> @@ -689,9 +761,21 @@ </dt> + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.FromHHM">FromHHM() (promod3.loop.PsipredPrediction method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.FromHoriz">FromHoriz() (promod3.loop.PsipredPrediction method)</a> + </dt> + + <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.FromResidue">FromResidue() (promod3.sidechain.RotamerLibEntry static method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.FromResidue">[1]</a> </dt> + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.full_seq">full_seq (promod3.modelling.StructuralGap attribute)</a> + </dt> + </dl></td> </tr></table> @@ -699,7 +783,11 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="rawmodel/index.html#promod3.rawmodel.RawModelingResult.gaps">gaps (promod3.rawmodel.RawModelingResult attribute)</a> + <dt><a href="modelling/index.html#promod3.modelling.GapExtender">GapExtender (class in promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.ModellingHandle.gaps">gaps (promod3.modelling.ModellingHandle attribute)</a> </dt> @@ -711,31 +799,35 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGCBetaScore">GetAVGCBetaScore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGCBetaScore">GetAVGCBetaScore() (promod3.loop.LoopCandidates method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGClashScore">GetAVGClashScore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGClasScore">GetAVGClasScore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGCombinedScore">GetAVGCombinedScore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGDSSPHBondScore">GetAVGDSSPHBondScore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGHBondscore">GetAVGHBondscore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGHBondcore">GetAVGHBondcore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGPackingScore">GetAVGPackingScore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGPackingScore">GetAVGPackingScore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGReducedScore">GetAVGReducedScore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGStemRMSD">GetAVGStemRMSD() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGSSAgreementscore">GetAVGSSAgreementscore() (promod3.loop.LoopCandidates method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetAVGTorsionScore">GetAVGTorsionScore() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.GetAVGTorsionScore">GetAVGTorsionScore() (promod3.loop.LoopCandidates method)</a> </dt> @@ -751,19 +843,35 @@ </dt> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.GetChain">GetChain() (promod3.modelling.StructuralGap method)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.GetChainIndex">GetChainIndex() (promod3.modelling.StructuralGap method)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.GetChainName">GetChainName() (promod3.modelling.StructuralGap method)</a> + </dt> + + <dt><a href="sidechain/rotamer.html#promod3.sidechain.Particle.GetCharge">GetCharge() (promod3.sidechain.Particle method)</a> </dt> - <dt><a href="loop/structure_db.html#promod3.loop.StructureDB.GetCoordIndex">GetCoordIndex() (promod3.loop.StructureDB method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.GetConfidence">GetConfidence() (promod3.loop.PsipredPrediction method)</a> </dt> - <dt><a href="loop/structure_db.html#promod3.loop.StructureDB.GetCoordInfo">GetCoordInfo() (promod3.loop.StructureDB method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.GetConfidences">GetConfidences() (promod3.loop.PsipredPrediction method)</a> + </dt> + + + <dt><a href="loop/structure_db.html#promod3.loop.StructureDB.GetCoordIndex">GetCoordIndex() (promod3.loop.StructureDB method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetCStem">GetCStem() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/structure_db.html#promod3.loop.StructureDB.GetCoordInfo">GetCoordInfo() (promod3.loop.StructureDB method)</a> </dt> @@ -821,13 +929,15 @@ </dl></dd> - <dt><a href="sidechain/rotamer.html#promod3.sidechain.Particle.GetName">GetName() (promod3.sidechain.Particle method)</a> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.GetLength">GetLength() (promod3.modelling.StructuralGap method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.GetNStem">GetNStem() (promod3.loop.LoopCandidates method)</a> + <dt><a href="sidechain/rotamer.html#promod3.sidechain.Particle.GetName">GetName() (promod3.sidechain.Particle method)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="sidechain/graph.html#promod3.sidechain.Graph.GetNumActiveEdges">GetNumActiveEdges() (promod3.sidechain.Graph method)</a> </dt> @@ -836,8 +946,6 @@ <dt><a href="sidechain/graph.html#promod3.sidechain.Graph.GetNumActiveNodes">GetNumActiveNodes() (promod3.sidechain.Graph method)</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="loop/structure_db.html#promod3.loop.StructureDB.GetNumCoords">GetNumCoords() (promod3.loop.StructureDB method)</a> </dt> @@ -867,11 +975,11 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.GetoriginalDSSPState">GetoriginalDSSPState() (promod3.loop.LoopCandidate method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.GetOriginalDSSPState">GetOriginalDSSPState() (promod3.loop.LoopCandidate method)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.GetoriginalSequence">GetoriginalSequence() (promod3.loop.LoopCandidate method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.GetOriginalSequence">GetOriginalSequence() (promod3.loop.LoopCandidate method)</a> </dt> @@ -891,6 +999,14 @@ </dt> + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.GetPrediction">GetPrediction() (promod3.loop.PsipredPrediction method)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.GetPredictions">GetPredictions() (promod3.loop.PsipredPrediction method)</a> + </dt> + + <dt><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetProbability">GetProbability() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetProbability">[1]</a> </dt> @@ -1001,7 +1117,7 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.hbond_score">hbond_score (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.hbond_score">hbond_score (promod3.loop.LoopCandidate attribute)</a> </dt> </dl></td> @@ -1032,12 +1148,10 @@ <dt><a href="loop/backbone.html#promod3.loop.BackboneList.InsertInto">InsertInto() (promod3.loop.BackboneList method)</a> </dt> - <dd><dl> - - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.InsertInto">(promod3.loop.LoopCandidates method)</a> + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.IsCTerminal">IsCTerminal() (promod3.modelling.StructuralGap method)</a> </dt> - </dl></dd> <dt><a href="sidechain/rotamer.html#promod3.sidechain.Particle.IsHBondAcceptor">IsHBondAcceptor() (promod3.sidechain.Particle method)</a> </dt> @@ -1049,9 +1163,17 @@ </dt> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.IsNTerminal">IsNTerminal() (promod3.modelling.StructuralGap method)</a> + </dt> + + <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.IsSimilar">IsSimilar() (promod3.sidechain.RotamerLibEntry method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.IsSimilar">[1]</a> </dt> + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.IsTerminal">IsTerminal() (promod3.modelling.StructuralGap method)</a> + </dt> + </dl></td> </tr></table> @@ -1082,6 +1204,12 @@ <dt><a href="loop/structure_db.html#promod3.loop.FragmentInfo.length">length (promod3.loop.FragmentInfo attribute)</a> </dt> + <dd><dl> + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.length">(promod3.modelling.StructuralGap attribute)</a> + </dt> + + </dl></dd> <dt><a href="loop/monte_carlo.html#promod3.loop.LinearScorer">LinearScorer (class in promod3.loop)</a> </dt> @@ -1143,11 +1271,11 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate">LoopCandidate (class in promod3.loop)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate">LoopCandidate (class in promod3.loop)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates">LoopCandidates (class in promod3.loop)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates">LoopCandidates (class in promod3.loop)</a> </dt> </dl></td> @@ -1180,8 +1308,6 @@ <dt><a href="buildsystem.html#index-0">Make targets</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.BBDepRotamerLib.MakeStatic">MakeStatic() (promod3.sidechain.BBDepRotamerLib method)</a> </dt> @@ -1202,12 +1328,26 @@ </dt> </dl></dd> + </dl></td> + <td style="width: 33%" valign="top"><dl> + + <dt><a href="modelling/index.html#promod3.modelling.MergeGaps">MergeGaps() (in module promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.MergeGapsByDistance">MergeGapsByDistance() (in module promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.MinimizeModelEnergy">MinimizeModelEnergy() (in module promod3.modelling)</a> + </dt> + - <dt><a href="rawmodel/index.html#promod3.rawmodel.RawModelingResult.MergeGapsByDistance">MergeGapsByDistance() (promod3.rawmodel.RawModelingResult method)</a> + <dt><a href="modelling/index.html#promod3.modelling.ModellingHandle.model">model (promod3.modelling.ModellingHandle attribute)</a> </dt> - <dt><a href="rawmodel/index.html#promod3.rawmodel.RawModelingResult.model">model (promod3.rawmodel.RawModelingResult attribute)</a> + <dt><a href="modelling/index.html#promod3.modelling.ModellingHandle">ModellingHandle (class in promod3.modelling)</a> </dt> @@ -1267,7 +1407,7 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.packing_score">packing_score (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.packing_score">packing_score (promod3.loop.LoopCandidate attribute)</a> </dt> @@ -1323,30 +1463,30 @@ </dt> </dl></dd> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.probability">probability (promod3.sidechain.RotamerLibEntry attribute)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="core/index.html#module-promod3.core">promod3.core (module)</a> </dt> - <dt><a href="core/pm3argparse.html#module-promod3.core.pm3argparse">promod3.core.pm3argparse (module)</a> + <dt><a href="core/helper.html#module-promod3.core.helper">promod3.core.helper (module)</a> </dt> - <dt><a href="loop/index.html#module-promod3.loop">promod3.loop (module)</a> + <dt><a href="core/pm3argparse.html#module-promod3.core.pm3argparse">promod3.core.pm3argparse (module)</a> </dt> - <dt><a href="pipeline/index.html#module-promod3.pipeline">promod3.pipeline (module)</a> + <dt><a href="loop/index.html#module-promod3.loop">promod3.loop (module)</a> </dt> - <dt><a href="rawmodel/index.html#module-promod3.rawmodel">promod3.rawmodel (module)</a> + <dt><a href="modelling/index.html#module-promod3.modelling">promod3.modelling (module)</a> </dt> @@ -1382,6 +1522,14 @@ <dt><a href="sidechain/graph.html#promod3.sidechain.Graph.Prune">Prune() (promod3.sidechain.Graph method)</a> </dt> + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction">PsipredPrediction (class in promod3.loop)</a> + </dt> + + + <dt><a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.PsipredPrediction">PsipredPrediction() (promod3.loop.PsipredPrediction method)</a>, <a href="loop/helper_classes.html#promod3.loop.PsipredPrediction.PsipredPrediction">[1]</a> + </dt> + </dl></td> </tr></table> @@ -1405,23 +1553,27 @@ <table style="width: 100%" class="indextable genindextable"><tr> <td style="width: 33%" valign="top"><dl> - <dt><a href="rawmodel/index.html#promod3.rawmodel.RawModelingResult">RawModelingResult (class in promod3.rawmodel)</a> + <dt><a href="sidechain/index.html#promod3.sidechain.Reconstruct">Reconstruct() (in module promod3.sidechain)</a> </dt> - <dt><a href="sidechain/index.html#promod3.sidechain.reconstruct_sidechains.Reconstruct">Reconstruct() (in module promod3.sidechain.reconstruct_sidechains)</a> + <dt><a href="loop/backbone.html#promod3.loop.BackboneList.ReconstructCBetaPositions">ReconstructCBetaPositions() (promod3.loop.BackboneList method)</a> </dt> - <dt><a href="loop/backbone.html#promod3.loop.BackboneList.ReconstructCBetaPositions">ReconstructCBetaPositions() (promod3.loop.BackboneList method)</a> + <dt><a href="loop/backbone.html#promod3.loop.BackboneList.ReconstructOxygenPositions">ReconstructOxygenPositions() (promod3.loop.BackboneList method)</a> </dt> - <dt><a href="loop/backbone.html#promod3.loop.BackboneList.ReconstructOxygenPositions">ReconstructOxygenPositions() (promod3.loop.BackboneList method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.reduced_score">reduced_score (promod3.loop.LoopCandidate attribute)</a> </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.Remove">Remove() (promod3.loop.LoopCandidates method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidates.Remove">Remove() (promod3.loop.LoopCandidates method)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.RemoveTerminalGaps">RemoveTerminalGaps() (in module promod3.modelling)</a> </dt> @@ -1438,7 +1590,7 @@ <dd><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.RMSD">(promod3.loop.LoopCandidate method)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.RMSD">(promod3.loop.LoopCandidate method)</a> </dt> </dl></dd> @@ -1450,12 +1602,12 @@ <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib">RotamerLib (class in promod3.sidechain)</a> </dt> + </dl></td> + <td style="width: 33%" valign="top"><dl> <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry">RotamerLibEntry (class in promod3.sidechain)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry">[1]</a> </dt> - </dl></td> - <td style="width: 33%" valign="top"><dl> <dt><a href="sidechain/sidechain_settings.html#promod3.sidechain.RotamerSettings">RotamerSettings (class in promod3.sidechain)</a> </dt> @@ -1529,10 +1681,22 @@ </dl></dd> + <dt><a href="modelling/index.html#promod3.modelling.ScoringGapExtender">ScoringGapExtender (class in promod3.modelling)</a> + </dt> + + <dt><a href="loop/structure_db.html#promod3.loop.FragDB.SearchDB">SearchDB() (promod3.loop.FragDB method)</a> </dt> + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.seq">seq (promod3.modelling.StructuralGap attribute)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.ModellingHandle.seqres">seqres (promod3.modelling.ModellingHandle attribute)</a> + </dt> + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetCBetaEnergy">SetCBetaEnergy() (promod3.loop.BackboneLoopScorer method)</a> </dt> @@ -1628,10 +1792,26 @@ </dt> </dl></dd> + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetPsipredPrediction">SetPsipredPrediction() (promod3.loop.BackboneLoopScorer method)</a>, <a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetPsipredPrediction">[1]</a> + </dt> + + + <dt><a href="loop/backbone.html#promod3.loop.BackboneList.SetPsiTorsion">SetPsiTorsion() (promod3.loop.BackboneList method)</a> + </dt> + </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="loop/backbone.html#promod3.loop.BackboneList.SetPsiTorsion">SetPsiTorsion() (promod3.loop.BackboneList method)</a> + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetReducedEnergy">SetReducedEnergy() (promod3.loop.BackboneLoopScorer method)</a> + </dt> + + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetReducedPotentialParameters">SetReducedPotentialParameters() (promod3.loop.BackboneLoopScorer method)</a> + </dt> + + + <dt><a href="loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer.SetSSAgreementParameters">SetSSAgreementParameters() (promod3.loop.BackboneLoopScorer method)</a> </dt> @@ -1651,7 +1831,11 @@ </dt> - <dt><a href="loop/backbone_loop_score.html#promod3.loop.SetupBackboneScorer">SetupBackboneScorer() (in module promod3.loop)</a> + <dt><a href="modelling/index.html#promod3.modelling.SetupBackboneScorer">SetupBackboneScorer() (in module promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap.ShiftCTerminal">ShiftCTerminal() (promod3.modelling.StructuralGap method)</a> </dt> @@ -1691,7 +1875,15 @@ </dt> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.stem_rmsd">stem_rmsd (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.ss_agreement">ss_agreement (promod3.loop.LoopCandidate attribute)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGap">StructuralGap (class in promod3.modelling)</a> + </dt> + + + <dt><a href="modelling/index.html#promod3.modelling.StructuralGapList">StructuralGapList (class in promod3.modelling)</a> </dt> @@ -1724,16 +1916,10 @@ <dt><a href="loop/backbone.html#promod3.loop.BackboneList.ToEntity">ToEntity() (promod3.loop.BackboneList method)</a> </dt> - <dd><dl> - - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidates.ToEntity">(promod3.loop.LoopCandidates method)</a> - </dt> - - </dl></dd> </dl></td> <td style="width: 33%" valign="top"><dl> - <dt><a href="loop/loop_candidate.html#promod3.loop.LoopCandidate.torsion_score">torsion_score (promod3.loop.LoopCandidate attribute)</a> + <dt><a href="loop/helper_classes.html#promod3.loop.LoopCandidate.torsion_score">torsion_score (promod3.loop.LoopCandidate attribute)</a> </dt> diff --git a/doc/html/gettingstarted.html b/doc/html/gettingstarted.html index 6e9dc618e74fdf5544ca0fd605dff1d534455f15..65497cd39bef2ee2e4de5ad512438b76076960b8 100644 --- a/doc/html/gettingstarted.html +++ b/doc/html/gettingstarted.html @@ -82,7 +82,7 @@ can visualize with any pdb reader (e.g. <code class="docutils literal"><span cla Commonly, your input is a template structure and an alignment of the template to the desired target sequence. The modelling steps then are:</p> <ul class="simple"> -<li>Build a raw model from the template (see <a class="reference internal" href="rawmodel/index.html#module-promod3.rawmodel" title="promod3.rawmodel: Raw Coordinate Model"><code class="xref py py-mod docutils literal"><span class="pre">rawmodel</span></code></a> module)</li> +<li>Build a raw model from the template (see <a class="reference internal" href="modelling/index.html#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a> function)</li> <li>Perform loop modelling to close all gaps (see <a class="reference internal" href="loop/index.html#module-promod3.loop" title="promod3.loop: Loop Modelling"><code class="xref py py-mod docutils literal"><span class="pre">loop</span></code></a> module)</li> <li>Reconstruct sidechains (see <a class="reference internal" href="sidechain/index.html#module-promod3.sidechain" title="promod3.sidechain: Sidechain Modelling"><code class="xref py py-mod docutils literal"><span class="pre">sidechain</span></code></a> module)</li> <li>Minimize energy of final model using molecular mechanics diff --git a/doc/html/index.html b/doc/html/index.html index a197ab7499c793a1b6f15d92af3daa69607a3d0a..28bd056a97e9eb73296384240823e7d6c253ce81 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -47,11 +47,10 @@ <li class="toctree-l2"><a class="reference internal" href="gettingstarted.html">Getting Started</a></li> <li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal"><span class="pre">SetCompoundsChemlib()</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li> -<li class="toctree-l2"><a class="reference internal" href="pipeline/index.html"><code class="docutils literal"><span class="pre">pipeline</span></code> - ProMod3 Modelling Pipeline</a></li> -<li class="toctree-l2"><a class="reference internal" href="rawmodel/index.html"><code class="docutils literal"><span class="pre">rawmodel</span></code> - Coordinate Modelling</a></li> +<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a></li> <li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a></li> <li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li> -<li class="toctree-l2"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code> - Testing Actions</a></li> +<li class="toctree-l2"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a></li> <li class="toctree-l2"><a class="reference internal" href="buildsystem.html">Building ProMod3</a></li> <li class="toctree-l2"><a class="reference internal" href="contributing.html">Contributing</a></li> <li class="toctree-l2"><a class="reference internal" href="cmake/index.html">ProMod3‘s Share Of CMake</a></li> diff --git a/doc/html/loop/backbone.html b/doc/html/loop/backbone.html index 83e6ac93982689d65fc7eff679a183cb9609c005..19ff85cd5815f86c83721950e103babc79b6224e 100644 --- a/doc/html/loop/backbone.html +++ b/doc/html/loop/backbone.html @@ -192,7 +192,7 @@ a residue. For simple structural manipulations they can be gathered to a <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>transformation_matrix</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</td> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>transformation_matrix</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">ost.geom.Transform</span></code>) – The transformation</td> </tr> </tbody> </table> @@ -200,14 +200,19 @@ a residue. For simple structural manipulations they can be gathered to a <dl class="method"> <dt id="promod3.loop.Backbone.GetTransform"> -<code class="descname">GetTransform</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Backbone.GetTransform" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> +<code class="descname">GetTransform</code><span class="sig-paren">(</span><em>target</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Backbone.GetTransform" title="Permalink to this definition">¶</a></dt> +<dd><blockquote> +<div>Get transformation performing a minimum RMSD transformation onto +<em>target</em> considering the positions of the N, CA and C atoms.</div></blockquote> +<table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The transformation currently applied on the backbone</td> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>target</strong> (<a class="reference internal" href="#promod3.loop.Backbone" title="promod3.loop.Backbone"><code class="xref py py-class docutils literal"><span class="pre">Backbone</span></code></a> / <a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The target positions</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A 4x4 transformation matrix</td> </tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a></td> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a></td> </tr> </tbody> </table> @@ -328,7 +333,7 @@ providing all necessary positions.</p> <dl class="method"> <dt id="promod3.loop.BackboneList.InsertInto"> -<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>chain</em>, <em>n_stem</em>, <em>c_stem</em><span class="optional">[</span>, <em>remodel_cterminal_o = True</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.InsertInto" title="Permalink to this definition">¶</a></dt> +<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>chain</em>, <em>start_resnum</em><span class="optional">[</span>, <em>remodel_cterminal_o = True</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.InsertInto" title="Permalink to this definition">¶</a></dt> <dd><p>Inserts the backbone list into the <strong>chain</strong>. If the residues corresponding to the <a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a> are already present in the entity, they will be replaced, otherwise they will be added to the entity.</p> @@ -337,9 +342,9 @@ be replaced, otherwise they will be added to the entity.</p> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>chain</strong> – The chain</li> -<li><strong>n_stem</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The residue number of the n_stem</li> -<li><strong>c_stem</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The residue number of the c_stem</li> +<li><strong>chain</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a>) – The chain</li> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code>) – Residue number defining the start location of +insertion</li> <li><strong>remodel_cterminal_o</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – The position of the cterminal o is dependent on the residue after the c_stem. If this flag is set and the residue after the cterminus is diff --git a/doc/html/loop/backbone_loop_score.html b/doc/html/loop/backbone_loop_score.html index 4c60335a54e6e2cba5fe9fe61c5e38d65a319d13..d5c2310d906ad640c29ec18bc72736a171d2b464 100644 --- a/doc/html/loop/backbone_loop_score.html +++ b/doc/html/loop/backbone_loop_score.html @@ -53,25 +53,6 @@ When setting up an empty scorer, the parametrization and the score values of these potentials have to be set manually.</p> <div class="section" id="the-backboneloopscorer"> <h2>The BackboneLoopScorer<a class="headerlink" href="#the-backboneloopscorer" title="Permalink to this headline">¶</a></h2> -<dl class="function"> -<dt id="promod3.loop.SetupBackboneScorer"> -<code class="descclassname">promod3.loop.</code><code class="descname">SetupBackboneScorer</code><span class="sig-paren">(</span><em>raw_model</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/loop.html#SetupBackboneScorer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.loop.SetupBackboneScorer" title="Permalink to this definition">¶</a></dt> -<dd><p>Get a scorer for medling with backbones.</p> -<p>This one is already tailored towards a certain modelling job.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>raw_model</strong> (<a class="reference internal" href="../rawmodel/index.html#promod3.rawmodel.RawModelingResult" title="promod3.rawmodel.RawModelingResult"><code class="xref py py-class docutils literal"><span class="pre">RawModelingResult</span></code></a>) – The raw model this scorer should be dedicated to.</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A scorer instance.</td> -</tr> -<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - <dl class="class"> <dt id="promod3.loop.BackboneLoopScorer"> <em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">BackboneLoopScorer</code><a class="headerlink" href="#promod3.loop.BackboneLoopScorer" title="Permalink to this definition">¶</a></dt> @@ -131,6 +112,46 @@ have to be considered</li> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.SetReducedPotentialParameters"> +<code class="descname">SetReducedPotentialParameters</code><span class="sig-paren">(</span><em>dist_cutoff</em>, <em>dist_bins</em>, <em>angle_bins</em>, <em>dihedral_bins</em>, <em>seq_sep</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetReducedPotentialParameters" title="Permalink to this definition">¶</a></dt> +<dd><p>Parametrizes a pairwise statistical potential considering the relative +orientation of two residues. Every residue gets represented by its CA +position p and a directional component v = norm(ca_pos-n_pos) + norm(ca_pos-c_pos). +Assuming an interaction between residues r1 and r2, we can define a line l +between p1 and p2. The potential then considers:</p> +<ul class="simple"> +<li>dist => distance between p1 and p2</li> +<li>alpha => angle between v1 and l</li> +<li>beta => angle between v2 and l</li> +<li>gamma => dihedral between (p1+v1,p1,p2,p2+v2)</li> +</ul> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>dist_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – The maximum distance of two residues to be +considered</li> +<li><strong>dist_bins</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of equally sized bins to describe the +distances in a discrete manner</li> +<li><strong>angle_bins</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of equally sized bins to describe the angle +parameters in a discrete manner (range of [0, pi])</li> +<li><strong>dihedral_bins</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of equally sized bins to describe the dihedral +parameter in a discrete manner (range of [-pi,pi])</li> +<li><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Minimal separation in sequence two residues must +have to be considered</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if <em>dist_cutoff</em> is negative or one +of the bin parameters is <= 0</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.SetTorsionPotentialParameters"> <code class="descname">SetTorsionPotentialParameters</code><span class="sig-paren">(</span><em>group_definitions</em>, <em>torsion_bins</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetTorsionPotentialParameters" title="Permalink to this definition">¶</a></dt> @@ -164,7 +185,8 @@ acids is not covered by any entry of <em>group_definitions</em></p> <dt id="promod3.loop.BackboneLoopScorer.SetCBPackingPotentialParameters"> <code class="descname">SetCBPackingPotentialParameters</code><span class="sig-paren">(</span><em>cb_packing_cutoff</em>, <em>cb_packing_max_count</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetCBPackingPotentialParameters" title="Permalink to this definition">¶</a></dt> <dd><p>Parametrizes a cb packing statistical potential, that assigns energies -based on the number of other cbeta atoms in the environment.</p> +based on the number of other cbeta atoms in the environment within a certain +cutoff distance.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -233,6 +255,19 @@ or a max parameter is smaller than its min counterpart.</p> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.SetSSAgreementParameters"> +<code class="descname">SetSSAgreementParameters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetSSAgreementParameters" title="Permalink to this definition">¶</a></dt> +<dd><p>Parametrizes the SSAgreement score. Despite no parameters being given, this +function has to be called before you can set any SSAgreement scores since the +memory has to be allocated internally. The SSAgreement score itself relates a +score to a certain combination of psipred prediction, it’s confidence and the +actually occuring secondary structure in the model. In every score evaluation, +the secondary structure of the loop is estimated by searching for hydrogen bonds +leading to a secondary structure as defined by dssp. The hbonds are searched +internally in the loop as well as in the environment.</p> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.SetCBetaEnergy"> <code class="descname">SetCBetaEnergy</code><span class="sig-paren">(</span><em>a</em>, <em>b</em>, <em>bin</em>, <em>e</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetCBetaEnergy" title="Permalink to this definition">¶</a></dt> @@ -258,6 +293,36 @@ given</p> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.SetReducedEnergy"> +<code class="descname">SetReducedEnergy</code><span class="sig-paren">(</span><em>a</em>, <em>b</em>, <em>dist_bin</em>, <em>alpha_bin</em>, <em>beta_bin</em>, <em>gamma_bin</em>, <em>e</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetReducedEnergy" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>a</strong> (<code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code>) – Identity of first interaction partner.</li> +<li><strong>b</strong> (<code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code>) – Identity of second interaction partner.</li> +<li><strong>dist_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance based +on the previously defined <em>dist_cutoff</em> and <em>dist_bins</em>.</li> +<li><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Discrete bin describing the alpha angle based +on the previously defined <em>angle_bins</em>.</li> +<li><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Discrete bin describing the beta angle based +on the previously defined <em>angle_bins</em>.</li> +<li><strong>gamma_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Discrete bin describing the gamma dihedral based +on the previously defined <em>dihedral_bins</em>.</li> +<li><strong>e</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Energy to be set</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if invalid bin or amino acid is +given</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.SetTorsionEnergy"> <code class="descname">SetTorsionEnergy</code><span class="sig-paren">(</span><em>group_id_idx</em>, <em>phi_bin</em>, <em>psi_bin</em>, <em>e</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetTorsionEnergy" title="Permalink to this definition">¶</a></dt> @@ -336,6 +401,27 @@ of the bins is invalid.</p> </table> </dd></dl> +<dl class="method"> +<dt> +<code class="descname">SetSSAgreementScore(psipred_state, int psipred_confidence,</code></dt> +<dt> +<code class="descname">dssp_state, score)</code></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>psipred_state</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – must be one of [‘H’,’E’,’C’]</li> +<li><strong>psipred_confidence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – must be in [0,9]</li> +<li><strong>dssp_state</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – must be one of [‘H’,’E’,’C’,’G’,’B’,’S’,’T’,’I’]</li> +<li><strong>score</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – score to be set</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.Initialize"> <code class="descname">Initialize</code><span class="sig-paren">(</span><em>seqres</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.Initialize" title="Permalink to this definition">¶</a></dt> @@ -373,6 +459,46 @@ element with invalid one letter code</td> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.SetPsipredPrediction"> +<code class="descname">SetPsipredPrediction</code><span class="sig-paren">(</span><em>pred</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetPsipredPrediction" title="Permalink to this definition">¶</a></dt> +<dd><p>Internally sets the psipred prediction, which is necessary to calculate the +SSAgreementScore.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>pred</strong> (<a class="reference internal" href="helper_classes.html#PsipredPrediction" title="PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a>) – The prediction</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> If the scorer is not yet initialized, +the scorer is initialized for multiple chains or when the +the size of the prediction is inconsistent with the internal +seqres in the scorer.</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt> +<code class="descname">SetPsipredPrediction</code><span class="sig-paren">(</span><em>pred</em><span class="sig-paren">)</span></dt> +<dd><p>Internally sets the psipred prediction, which is necessary to calculate the +SSAgreementScore.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>pred</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> of <a class="reference internal" href="helper_classes.html#PsipredPrediction" title="PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a>) – The prediction</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> If the scorer is not yet initialized, +the number of predictions is inconsistent with the number of +internal chains or when one of the predictions sizes is +inconsistent with the according internal seqres</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.SetEnvironment"> <code class="descname">SetEnvironment</code><span class="sig-paren">(</span><em>env</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.SetEnvironment" title="Permalink to this definition">¶</a></dt> @@ -424,6 +550,30 @@ invalid positions in the SEQRES.</p> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.ClearEnvironment"> +<code class="descname">ClearEnvironment</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.ClearEnvironment" title="Permalink to this definition">¶</a></dt> +<dd><p>Clears a stretch of length <em>num_residues</em> in the environment in chain +with idx <em>chain_index</em> starting from residue number <em>start_resnum</em></p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Start of stretch to clear</li> +<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Length of stretch to clear</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> when either start_resnum or +chain_index point to invalid positions in the SEQRES.</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.CalculateClashScore"> <code class="descname">CalculateClashScore</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.CalculateClashScore" title="Permalink to this definition">¶</a></dt> @@ -481,6 +631,35 @@ initialized.</p> </table> </dd></dl> +<dl class="method"> +<dt id="promod3.loop.BackboneLoopScorer.CalculateReducedScore"> +<code class="descname">CalculateReducedScore</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.CalculateReducedScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>bb_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Loop to calculate the reduced score</li> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – ResNum defining the position in the SEQRES +(first element starts with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Index of the chain the loop belongs to</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">reduced score</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if size of <em>bb_list</em> is smaller +than 3, the <em>chain_index</em>/<em>start_resnum</em> lead to +invalid positions in the SEQRES or when the +according potential or scorer have never been properly +initialized.</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + <dl class="method"> <dt id="promod3.loop.BackboneLoopScorer.CalculateTorsionScore"> <code class="descname">CalculateTorsionScore</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.CalculateTorsionScore" title="Permalink to this definition">¶</a></dt> @@ -569,29 +748,29 @@ initialized.</p> </dd></dl> <dl class="method"> -<dt id="promod3.loop.BackboneLoopScorer.CalculateDSSPHBondScore"> -<code class="descname">CalculateDSSPHBondScore</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.CalculateDSSPHBondScore" title="Permalink to this definition">¶</a></dt> -<dd><p>Instead of calculate an hbond score based on a statistical potential, -an the DSSP hbond energy function gets evaluated in this function.</p> -<table class="docutils field-list" frame="void" rules="none"> +<dt id="promod3.loop.BackboneLoopScorer.CalculateSSAgreementScore"> +<code class="descname">CalculateSSAgreementScore</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneLoopScorer.CalculateSSAgreementScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>bb_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Loop to calculate the hbond score</li> +<li><strong>bb_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Loop to calculate the SSAgreement score</li> <li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – ResNum defining the position in the SEQRES (first element starts with one!)</li> <li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Index of the chain the loop belongs to</li> </ul> </td> </tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">hbond score</p> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">SSAgreement score</p> </td> </tr> <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if size of <em>bb_list</em> is smaller than 3, the <em>chain_index</em>/<em>start_resnum</em> lead to -invalid positions in the SEQRES or when the -scorer has never been properly initialized.</p> +invalid positions in the SEQRES or, the +scorer have never been properly initialized, +or when no <a class="reference internal" href="helper_classes.html#PsipredPrediction" title="PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a> is set to +the scorer.</p> </td> </tr> </tbody> diff --git a/doc/html/loop/helper_classes.html b/doc/html/loop/helper_classes.html new file mode 100644 index 0000000000000000000000000000000000000000..8af6dcbcf88a0e1aeea22b1e9e06442633ea3a18 --- /dev/null +++ b/doc/html/loop/helper_classes.html @@ -0,0 +1,1038 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>Helper Classes — ProMod3 0 documentation</title> + + <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../', + VERSION: '0', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> + <link rel="up" title="loop - Loop Modelling" href="index.html" /> + <link rel="next" title="sidechain - Sidechain Modelling" href="../sidechain/index.html" /> + <link rel="prev" title="Load Loop Objects" href="load_loop_objects.html" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> + + </head> + <body role="document"> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <div class="section" id="helper-classes"> +<h1>Helper Classes<a class="headerlink" href="#helper-classes" title="Permalink to this headline">¶</a></h1> +<p>This chapter describes helper classes, that are somehow related to the +functionality in the loop module.</p> +<div class="section" id="psipred"> +<h2>Psipred<a class="headerlink" href="#psipred" title="Permalink to this headline">¶</a></h2> +<dl class="class"> +<dt id="promod3.loop.PsipredPrediction"> +<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">PsipredPrediction</code><a class="headerlink" href="#promod3.loop.PsipredPrediction" title="Permalink to this definition">¶</a></dt> +<dd><p>A container for the secondary structure prediction by Psipred.</p> +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.PsipredPrediction"> +<code class="descname">PsipredPrediction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.PsipredPrediction" title="Permalink to this definition">¶</a></dt> +<dd><p>Constructs empty container</p> +</dd></dl> + +<dl class="method"> +<dt> +<code class="descname">PsipredPrediction</code><span class="sig-paren">(</span><em>prediction</em>, <em>confidence</em><span class="sig-paren">)</span></dt> +<dd><p>Constructs container with given content</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>prediction</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a>) – Secondary structure prediction as element in [‘H’,’E’,’C’]</li> +<li><strong>confidence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a>) – Confidence of prediction as element in [0,9]</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if size of <strong>prediction</strong> and +<strong>confidence</strong> are inconsistent or if they contain an +invalid element</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.FromHHM"> +<code class="descname">FromHHM</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.FromHHM" title="Permalink to this definition">¶</a></dt> +<dd><p>Static function to Load a <a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a> object from hhm file, +as they are provided by the hhsearch suite</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – Name of file</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.FromHoriz"> +<code class="descname">FromHoriz</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.FromHoriz" title="Permalink to this definition">¶</a></dt> +<dd><p>Static function to Load a <a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a> object from horiz file, +as they are produced by the psipred executable</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – Name of file</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.Add"> +<code class="descname">Add</code><span class="sig-paren">(</span><em>prediction</em>, <em>confidence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.Add" title="Permalink to this definition">¶</a></dt> +<dd><p>Adds and appends a single residue psipred prediction at the end</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>prediction</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – Prediction, must be one in [‘H’,’E’,’C’]</li> +<li><strong>confidence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Confidence of prediction, must be in [0,9]</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if input contains invalid elements</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.Extract"> +<code class="descname">Extract</code><span class="sig-paren">(</span><em>from</em>, <em>to</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.Extract" title="Permalink to this definition">¶</a></dt> +<dd><p>Extracts content and returns a sub-<a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a> with range <strong>from</strong> +to <strong>to</strong>, not including <strong>to</strong> itself</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>from</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Idx to start</li> +<li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Idx to end</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a> with the specified range</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if <strong>from</strong> or <strong>to</strong> are invalid</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.GetPrediction"> +<code class="descname">GetPrediction</code><span class="sig-paren">(</span><em>idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetPrediction" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Index to get prediction from</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Psipred prediction at pos <strong>idx</strong></td> +</tr> +<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if <strong>idx</strong> is invalid</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.GetConfidence"> +<code class="descname">GetConfidence</code><span class="sig-paren">(</span><em>idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetConfidence" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Index to get confidence from</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Psipred confidence at pos <strong>idx</strong></td> +</tr> +<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if <strong>idx</strong> is invalid</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.GetPredictions"> +<code class="descname">GetPredictions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetPredictions" title="Permalink to this definition">¶</a></dt> +<dd><p>Get all the predictions in the container</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> containing all the predictions in the container</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.GetConfidences"> +<code class="descname">GetConfidences</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetConfidences" title="Permalink to this definition">¶</a></dt> +<dd><p>Get all the confidences in the container</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> containing all the confidences in the container</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.PsipredPrediction.__len__"> +<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.__len__" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Number of elements in container</td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +</div> +<div class="section" id="handling-several-loops-at-once"> +<h2>Handling several loops at once<a class="headerlink" href="#handling-several-loops-at-once" title="Permalink to this headline">¶</a></h2> +<dl class="class"> +<dt id="promod3.loop.LoopCandidate"> +<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">LoopCandidate</code><span class="sig-paren">(</span><em>backbone_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate" title="Permalink to this definition">¶</a></dt> +<dd><p>Object representing a possible configuration of the backbone of a particular loop being modelled. Apart from the positions, stored in a <a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>, it also has attributes storing different scores associated with the candidate (will be set by calling the corresponding scoring function in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>) as well as some information on the original structure from which this particular loop configuration was taken (in the case when the configuration was taken from the structural database).</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>backbone_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Positions of the backbone atoms</td> +</tr> +</tbody> +</table> +<dl class="method"> +<dt id="promod3.loop.LoopCandidate.CARMSD"> +<code class="descname">CARMSD</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.CARMSD" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates the C-alpha RMSD between this loop candidate and an <em>other</em> loop candidate, after superposition.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>other</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – Other loop</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidate.RMSD"> +<code class="descname">RMSD</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.RMSD" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates the RMSD between this loop candidate and an <em>other</em> loop candidate, after superposition.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>other</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – Other loop</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidate.GetOriginalSequence"> +<code class="descname">GetOriginalSequence</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.GetOriginalSequence" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns the sequence of the original loop from the structural database, i.e. the sequence of the piece of structure from which the loop was taken.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A sequence</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidate.GetOriginalDSSPState"> +<code class="descname">GetOriginalDSSPState</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.GetOriginalDSSPState" title="Permalink to this definition">¶</a></dt> +<dd><p>Returns the secondary structure of the original loop from the structural database, i.e. the secondary structure of the piece of structure from which the loop was taken.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The secondary structure code as given in DSSP</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.bb_list"> +<code class="descname">bb_list</code><a class="headerlink" href="#promod3.loop.LoopCandidate.bb_list" title="Permalink to this definition">¶</a></dt> +<dd><p>The backbone list containing the positions of the backbone atoms</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.clash_score"> +<code class="descname">clash_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.clash_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The clash score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.cbeta_score"> +<code class="descname">cbeta_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.cbeta_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The C-beta score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.reduced_score"> +<code class="descname">reduced_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.reduced_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The reduced score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.torsion_score"> +<code class="descname">torsion_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.torsion_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The torsion score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.packing_score"> +<code class="descname">packing_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.packing_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The packing score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.hbond_score"> +<code class="descname">hbond_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.hbond_score" title="Permalink to this definition">¶</a></dt> +<dd><p>The HBond score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.ss_agreement"> +<code class="descname">ss_agreement</code><a class="headerlink" href="#promod3.loop.LoopCandidate.ss_agreement" title="Permalink to this definition">¶</a></dt> +<dd><p>The SSAgreement score of the loop candidate</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.loop.LoopCandidate.combined_score"> +<code class="descname">combined_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.combined_score" title="Permalink to this definition">¶</a></dt> +<dd><p>Score value intended to be a placeholder for an arbitrary combination +of the other scores</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +<dl class="class"> +<dt id="promod3.loop.LoopCandidates"> +<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">LoopCandidates</code><span class="sig-paren">(</span><em>seq</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates" title="Permalink to this definition">¶</a></dt> +<dd><p>The <em>LoopCandidates</em> is a helper class used as a container for +<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> objects enforcing consistent length +and sequence among them. It can either be filled manually or +generated using static filling functions using the functionality +from the <a class="reference internal" href="structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a> or Monte Carlo algorithms. Once it contains +candidates you can apply closing, scoring or clustering algorithms on the content. +Note, that you have to attach a scorer object before any scoring action.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>seq</strong> – The sequence being enforced for all candidates</td> +</tr> +</tbody> +</table> +<dl class="staticmethod"> +<dt id="promod3.loop.LoopCandidates.FillFromDatabase"> +<em class="property">static </em><code class="descname">FillFromDatabase</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>seq</em>, <em>frag_db</em>, <em>structural_db</em>, <em>extended_search=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.FillFromDatabase" title="Permalink to this definition">¶</a></dt> +<dd><p>Searches for loop candidates matching the length (number of residues in <em>seq</em>) and geometry (of <em>n_stem</em> and <em>c_stem</em>) of the loop to be modelled in a fragment database.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</li> +<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</li> +<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be added including the +<em>n_stem</em> and <em>c_stem</em></li> +<li><strong>frag_db</strong> (<a class="reference internal" href="structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) – The fragment database</li> +<li><strong>structural_db</strong> (<a class="reference internal" href="structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><span class="pre">StructureDB</span></code></a>) – The according structural database</li> +<li><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Whether search should be extended to fragments +matching the geometry of the <em>n_stem</em> and <em>c_stem</em> +a bit less precisely.</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A list of loop candidates</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a></p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="staticmethod"> +<dt id="promod3.loop.LoopCandidates.FillFromMonteCarloSampler"> +<em class="property">static </em><code class="descname">FillFromMonteCarloSampler</code><span class="sig-paren">(</span><em>seq</em>, <em>num_loops</em>, <em>steps</em>, <em>sampler</em>, <em>closer</em>, <em>scorer</em>, <em>cooler</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.FillFromMonteCarloSampler" title="Permalink to this definition">¶</a></dt> +<dt> +<em class="property">static </em><code class="descname">FillFromMonteCarloSampler</code><span class="sig-paren">(</span><em>initial_bb</em>, <em>seq</em>, <em>num_loops</em>, <em>steps</em>, <em>sampler</em>, <em>closer</em>, <em>scorer</em>, <em>cooler</em><span class="sig-paren">)</span></dt> +<dd><p>Uses Monte Carlo simulated annealing to sample the loop to be modelled. +If <em>initial_bb</em> is given, every Monte Carlo run starts from that configuration.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>initial_bb</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Initial configuration used for the sampling</li> +<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be sampled</li> +<li><strong>num_loops</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of loop candidates to return</li> +<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate +generated</li> +<li><strong>sampler</strong> (<a class="reference internal" href="monte_carlo.html#mc-sampler-object"><span>Sampler Object</span></a>) – Used to generate a new configuration at each MC step</li> +<li><strong>closer</strong> (<a class="reference internal" href="monte_carlo.html#mc-closer-object"><span>Closer Object</span></a>) – Used to close the loop after each MC step</li> +<li><strong>scorer</strong> (<a class="reference internal" href="monte_carlo.html#mc-scorer-object"><span>Scorer Object</span></a>) – Used to score the generated configurations at each MC step</li> +<li><strong>cooler</strong> (<a class="reference internal" href="monte_carlo.html#mc-cooler-object"><span>Cooler Object</span></a>) – Controls the temperature profile of the simulated annealing</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The resulting candidates</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a></p> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code>, if <em>initial_bb</em> is not given and the Monte +Carlo sampler failed to initialize (i.e. stems are too far apart)</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code>, if <em>initial_bb</em> is given and it is +inconsistent with <em>seq</em></p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.ClusterCandidates"> +<code class="descname">ClusterCandidates</code><span class="sig-paren">(</span><em>max_dist</em>, <em>neglect_size_one = true</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ClusterCandidates" title="Permalink to this definition">¶</a></dt> +<dd><p>Clusters the loop candidates according to their pairwise CARMSD using a greedy +hierarchical clustering algorithm. Every candidate gets assigned a unique cluster. +At every clustering step, the two clusters with shortest distance get merged, with +the distance definition being the maximal CARMSD between any of the members +of the two clusters.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Maximal distance two clusters can have to be merged</li> +<li><strong>neglect_size_one</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Whether clusters should be added to the return +list if they only contain one <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a></li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A list of <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>. Each element in the list +corresponds to the candidates in one cluster.</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.ApplyCCD"> +<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ApplyCCD" title="Permalink to this definition">¶</a></dt> +<dt> +<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>torsion_sampler</em>, <em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em><span class="sig-paren">)</span></dt> +<dt> +<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>torsion_samplers</em>, <em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em><span class="sig-paren">)</span></dt> +<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> using the CCD +algorithm (i.e. modifies the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues +match those of <em>n_stem</em> and <em>c_stem</em>). CCD (cyclic coordinate descent, see +<a class="reference internal" href="loop_closing.html#promod3.loop.CCD" title="promod3.loop.CCD"><code class="xref py py-class docutils literal"><span class="pre">CCD</span></code></a>) is an iterative minimization algorithm.</p> +<p>If <em>torsion_sampler</em> or <em>torsion_samplers</em> is given, it is used at each step +of the closing to calculate the probability of the proposed move, which is +then accepted or not depending on a metropolis criterium.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n-stem positions every +candidate should match</li> +<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c-stem positions every +candidate should match</li> +<li><strong>torsion_sampler</strong> (<a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – The torsion sampler</li> +<li><strong>torsion_samplers</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> of <a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – A list containing one torsion sampler for each +residue in the loop</li> +<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximum number of iteration</li> +<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Cutoff in stem residue RMSD used to determine +convergence</li> +<li><strong>keep_non_converged</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Whether to keep loop candidates for which the +closing did not converged</li> +<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – seed for random number generator used to +accept/reject moves in CCD algorithm</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.ApplyKIC"> +<code class="descname">ApplyKIC</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>pivot_one</em>, <em>pivot_two</em>, <em>pivot_three</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ApplyKIC" title="Permalink to this definition">¶</a></dt> +<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> (i.e. modifies +the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues match those of +<em>n_stem</em> and <em>c_stem</em>, which are the stem residues of the loop being +modelled), using the KIC algorithm. This algorithm finds analytical +solutions for closing the loop by modifying the torsion angles of just +three pivot residues. Due to the underlying mathematical formalism in KIC, +up to 16 solutions can be found for every candidate. This leads to an +increase in number of loops.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n-stem positions every candidate +should match</li> +<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c-stem positions every candidate +should match</li> +<li><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – First pivot residue</li> +<li><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Second pivot residue</li> +<li><strong>pivot_three</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Third pivot residue</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.Add"> +<code class="descname">Add</code><span class="sig-paren">(</span><em>loop_candidate</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.Add" title="Permalink to this definition">¶</a></dt> +<dd><p>Add a loop candidate to the list of candidates</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>loop_candidate</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – The loop candidate</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> If sequence of <em>loop_candidate</em> is not consistent +with internal sequence</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt> +<code class="descname">Add</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span></dt> +<dd><p>Add a loop candidate to the list of candidates from a list of backbone positions</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>bb_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – The backbone list</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> If sequence of <em>bb_list</em> is not consistent +with internal sequence</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.Remove"> +<code class="descname">Remove</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.Remove" title="Permalink to this definition">¶</a></dt> +<dd><p>Remove a loop candidate from the list of candidates.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the candidate that will be removed</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.AttachScorer"> +<code class="descname">AttachScorer</code><span class="sig-paren">(</span><em>scorer</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.AttachScorer" title="Permalink to this definition">¶</a></dt> +<dd><p>Attaches a scorer to the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>. The scorer contains the information about the environment of the loop candidates and is mandatory to calculate the different scores for the loop candidates.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>scorer</strong> (<a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – The scorer</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateClasScores"> +<code class="descname">CalculateClasScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateClasScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the clash score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateBetaScores"> +<code class="descname">CalculateBetaScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateBetaScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the cbeta score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateReducedScores"> +<code class="descname">CalculateReducedScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateReducedScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the reduced score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateTorsionScores"> +<code class="descname">CalculateTorsionScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateTorsionScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the torsion score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculatePackingScores"> +<code class="descname">CalculatePackingScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculatePackingScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the packing score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateHBondcores"> +<code class="descname">CalculateHBondcores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateHBondcores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the HBond score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateSSAgreementScores"> +<code class="descname">CalculateSSAgreementScores</code><span class="sig-paren">(</span><em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateSSAgreementScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns the SSAgreement score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.CalculateCombinedScores"> +<code class="descname">CalculateCombinedScores</code><span class="sig-paren">(</span><em>linear_weights</em>, <em>start_resnum</em><span class="optional">[</span>, <em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateCombinedScores" title="Permalink to this definition">¶</a></dt> +<dd><p>Calculates and assigns an arbitrary linear combination of all the available scores for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/stdtypes.html#dict" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a>) – Defining the linear weights of the scores as key value pairs. Allowed +keys are: [“cbeta”,”clash”,”torsion”,”cb_packing”,”hbond”,”ss_agreement”, “reduced”, “intercept”] +For every key, the according function in the attached +<a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a> gets called and the returned score added to +the final score with the according weight. If there is an intercept given, +the according value also gets added to the final score.</li> +<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Residue number of the starting residue of the candidates being scored +(residue numbers start with one!)</li> +<li><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGClashScore"> +<code class="descname">GetAVGClashScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGClashScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the clash scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGCBetaScore"> +<code class="descname">GetAVGCBetaScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGCBetaScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the cbeta scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGReducedScore"> +<code class="descname">GetAVGReducedScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGReducedScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the reduced scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGTorsionScore"> +<code class="descname">GetAVGTorsionScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGTorsionScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the torsion scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGPackingScore"> +<code class="descname">GetAVGPackingScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGPackingScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the packing scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGHBondscore"> +<code class="descname">GetAVGHBondscore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGHBondscore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the HBond scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGSSAgreementscore"> +<code class="descname">GetAVGSSAgreementscore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGSSAgreementscore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the SSAgreement scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.loop.LoopCandidates.GetAVGCombinedScore"> +<code class="descname">GetAVGCombinedScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGCombinedScore" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the combined scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +</div> +</div> + + + </div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> + <h3><a href="../index.html">Table Of Contents</a></h3> + <ul> +<li><a class="reference internal" href="#">Helper Classes</a><ul> +<li><a class="reference internal" href="#psipred">Psipred</a></li> +<li><a class="reference internal" href="#handling-several-loops-at-once">Handling several loops at once</a></li> +</ul> +</li> +</ul> +<div class="relations"> +<h3>Related Topics</h3> +<ul> + <li><a href="../index.html">Documentation overview</a><ul> + <li><a href="../developers.html">Documentation For Developers</a><ul> + <li><a href="index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a><ul> + <li>Previous: <a href="load_loop_objects.html" title="previous chapter">Load Loop Objects</a></li> + <li>Next: <a href="../sidechain/index.html" title="next chapter"><code class="docutils literal"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li> + </ul></li> + </ul></li> + </ul></li> +</ul> +</div> + <div role="note" aria-label="source link"> + <h3>This Page</h3> + <ul class="this-page-menu"> + <li><a href="../_sources/loop/helper_classes.txt" + rel="nofollow">Show Source</a></li> + </ul> + </div> +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <form class="search" action="../search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + <p class="searchtip" style="font-size: 90%"> + Enter search terms or a module, class or function name. + </p> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015, Bienchen. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> + + | + <a href="../_sources/loop/helper_classes.txt" + rel="nofollow">Page source</a> + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/doc/html/loop/index.html b/doc/html/loop/index.html index be37732a5b334e4d42146cff4502f66e478e8a3f..5021f37e70da6534b112c7cc4cb96b35c4172763 100644 --- a/doc/html/loop/index.html +++ b/doc/html/loop/index.html @@ -26,7 +26,7 @@ <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="Documentation For Developers" href="../developers.html" /> <link rel="next" title="Backbone" href="backbone.html" /> - <link rel="prev" title="rawmodel - Coordinate Modelling" href="../rawmodel/index.html" /> + <link rel="prev" title="modelling - Protein Modelling" href="../modelling/index.html" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> @@ -77,7 +77,7 @@ you a starting point to get an idea of what can be done.</p> <span class="c">#The candidates usually don't match exactly the required stem coordinates</span> <span class="c">#CCD (Cyclic Coordinate Descent) is one way to enforce this match.</span> -<span class="n">loop_candidates</span><span class="o">.</span><span class="n">ApplyCCD</span><span class="p">()</span> +<span class="n">loop_candidates</span><span class="o">.</span><span class="n">ApplyCCD</span><span class="p">(</span><span class="n">n_stem</span><span class="p">,</span> <span class="n">c_stem</span><span class="p">)</span> <span class="c">#now it's time to select one candidate, we load a scorer object to do that</span> <span class="n">scorer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadBackboneLoopScorer</span><span class="p">()</span> @@ -89,10 +89,12 @@ you a starting point to get an idea of what can be done.</p> <span class="c">#the scorer can then be attached to the LoopCandidates object</span> <span class="c">#to calculate several different scores, we go for a distance dependent</span> <span class="c">#statistical potential considering the CBeta positions of each residue</span> -<span class="c">#and a clash score</span> +<span class="c">#and a clash score. To calculate the actual score we also have to pass</span> +<span class="c">#the location of our loop candidates in the overall structure</span> +<span class="c"># => resnum = 24</span> <span class="n">loop_candidates</span><span class="o">.</span><span class="n">AttachScorer</span><span class="p">(</span><span class="n">scorer</span><span class="p">)</span> -<span class="n">loop_candidates</span><span class="o">.</span><span class="n">CalculateCBetaScores</span><span class="p">()</span> -<span class="n">loop_candidates</span><span class="o">.</span><span class="n">CalculateClashScores</span><span class="p">()</span> +<span class="n">loop_candidates</span><span class="o">.</span><span class="n">CalculateCBetaScores</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span> +<span class="n">loop_candidates</span><span class="o">.</span><span class="n">CalculateClashScores</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span> <span class="c">#we simply sum up the previously calculated scores and search for the</span> <span class="c">#loop with minimal score</span> @@ -104,9 +106,10 @@ you a starting point to get an idea of what can be done.</p> <span class="n">min_score</span> <span class="o">=</span> <span class="n">score</span> <span class="n">min_candidate</span> <span class="o">=</span> <span class="n">i</span> -<span class="c">#let's insert that loop and save the structure down to disk</span> -<span class="n">loop_candidates</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">crambin</span><span class="p">,</span><span class="n">min_candidate</span><span class="p">)</span> -<span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">crambin</span><span class="p">,</span><span class="s">"remodeled_crambin.pdb"</span><span class="p">)</span> +<span class="c">#let's insert the found loop into our structure and save it down</span> +<span class="n">bb_list</span> <span class="o">=</span> <span class="n">loop_candidates</span><span class="p">[</span><span class="n">min_candidate</span><span class="p">]</span><span class="o">.</span><span class="n">bb_list</span> +<span class="n">bb_list</span><span class="o">.</span><span class="n">InsertInto</span><span class="p">(</span><span class="n">crambin</span><span class="o">.</span><span class="n">chains</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">n_stem</span><span class="o">.</span><span class="n">GetNumber</span><span class="p">())</span> +<span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">crambin</span><span class="p">,</span><span class="s">"modified_crambin.pdb"</span><span class="p">)</span> </pre></div> </div> <p>Contents:</p> @@ -146,8 +149,12 @@ you a starting point to get an idea of what can be done.</p> <li class="toctree-l2"><a class="reference internal" href="monte_carlo.html#cooler-object">Cooler Object</a></li> </ul> </li> -<li class="toctree-l1"><a class="reference internal" href="loop_candidate.html">Handle several loop candidates at once</a></li> <li class="toctree-l1"><a class="reference internal" href="load_loop_objects.html">Loading Precomputed Loop Objects</a></li> +<li class="toctree-l1"><a class="reference internal" href="helper_classes.html">Helper Classes</a><ul> +<li class="toctree-l2"><a class="reference internal" href="helper_classes.html#psipred">Psipred</a></li> +<li class="toctree-l2"><a class="reference internal" href="helper_classes.html#handling-several-loops-at-once">Handling several loops at once</a></li> +</ul> +</li> </ul> </div> </div> @@ -162,7 +169,7 @@ you a starting point to get an idea of what can be done.</p> <ul> <li><a href="../index.html">Documentation overview</a><ul> <li><a href="../developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="../rawmodel/index.html" title="previous chapter"><code class="docutils literal"><span class="pre">rawmodel</span></code> - Coordinate Modelling</a></li> + <li>Previous: <a href="../modelling/index.html" title="previous chapter"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a></li> <li>Next: <a href="backbone.html" title="next chapter">Backbone</a></li> </ul></li> </ul></li> diff --git a/doc/html/loop/load_loop_objects.html b/doc/html/loop/load_loop_objects.html index 225202d240ab8fb10a358ab5990f9d3aca27394f..aab6712fb74c60bf46d3cf0c81cebea1f999c258 100644 --- a/doc/html/loop/load_loop_objects.html +++ b/doc/html/loop/load_loop_objects.html @@ -25,8 +25,8 @@ <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="loop - Loop Modelling" href="index.html" /> - <link rel="next" title="sidechain - Sidechain Modelling" href="../sidechain/index.html" /> - <link rel="prev" title="Loop Candidates" href="loop_candidate.html" /> + <link rel="next" title="Helper Classes" href="helper_classes.html" /> + <link rel="prev" title="Monte Carlo Sampling" href="monte_carlo.html" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> @@ -126,7 +126,8 @@ residues of non-redundant protein structures.</p> <dl class="method"> <dt id="promod3.loop.LoadFragDB"> <code class="descclassname">promod3.loop.</code><code class="descname">LoadFragDB</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadFragDB" title="Permalink to this definition">¶</a></dt> -<dd><p>Loads and returns a FragDB with the default StructureDB attached.</p> +<dd><p>Loads and returns a FragDB containing fragments up to the length of 14, +therefore capable of bridging gaps up to the length of 12.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -198,8 +199,8 @@ Proteins, 62(4):892–908, Mar 2006.</dd> <li><a href="../index.html">Documentation overview</a><ul> <li><a href="../developers.html">Documentation For Developers</a><ul> <li><a href="index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a><ul> - <li>Previous: <a href="loop_candidate.html" title="previous chapter">Loop Candidates</a></li> - <li>Next: <a href="../sidechain/index.html" title="next chapter"><code class="docutils literal"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li> + <li>Previous: <a href="monte_carlo.html" title="previous chapter">Monte Carlo Sampling</a></li> + <li>Next: <a href="helper_classes.html" title="next chapter">Helper Classes</a></li> </ul></li> </ul></li> </ul></li> diff --git a/doc/html/loop/loop_candidate.html b/doc/html/loop/loop_candidate.html deleted file mode 100644 index 591d3e9cad6318ed109ac8548c31535dd916b55a..0000000000000000000000000000000000000000 --- a/doc/html/loop/loop_candidate.html +++ /dev/null @@ -1,819 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>Loop Candidates — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> - <link rel="up" title="loop - Loop Modelling" href="index.html" /> - <link rel="next" title="Load Loop Objects" href="load_loop_objects.html" /> - <link rel="prev" title="Monte Carlo Sampling" href="monte_carlo.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <div class="section" id="loop-candidates"> -<h1>Loop Candidates<a class="headerlink" href="#loop-candidates" title="Permalink to this headline">¶</a></h1> -<dl class="class"> -<dt id="promod3.loop.LoopCandidate"> -<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">LoopCandidate</code><span class="sig-paren">(</span><em>backbone_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate" title="Permalink to this definition">¶</a></dt> -<dd><p>Object representing a possible configuration of the backbone of a particular loop being modelled. Apart from the positions, stored in a <a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>, it also has attributes storing different scores associated with the candidate (will be set by calling the corresponding scoring function in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>) as well as some information on the original structure from which this particular loop configuration was taken (in the case when the configuration was taken from the structural database).</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>backbone_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Positions of the backbone atoms</td> -</tr> -</tbody> -</table> -<dl class="method"> -<dt id="promod3.loop.LoopCandidate.CARMSD"> -<code class="descname">CARMSD</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.CARMSD" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates the C-alpha RMSD between this loop candidate and an <em>other</em> loop candidate, after superposition.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>other</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – Other loop</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidate.RMSD"> -<code class="descname">RMSD</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.RMSD" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates the RMSD between this loop candidate and an <em>other</em> loop candidate, after superposition.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>other</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – Other loop</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidate.GetoriginalSequence"> -<code class="descname">GetoriginalSequence</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.GetoriginalSequence" title="Permalink to this definition">¶</a></dt> -<dd><p>Returns the sequence of the original loop from the structural database, i.e. the sequence of the piece of structure from which the loop was taken.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A sequence</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidate.GetoriginalDSSPState"> -<code class="descname">GetoriginalDSSPState</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidate.GetoriginalDSSPState" title="Permalink to this definition">¶</a></dt> -<dd><p>Returns the secondary structure of the original loop from the structural database, i.e. the secondary structure of the piece of structure from which the loop was taken.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The secondary structure code as given in DSSP</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.bb_list"> -<code class="descname">bb_list</code><a class="headerlink" href="#promod3.loop.LoopCandidate.bb_list" title="Permalink to this definition">¶</a></dt> -<dd><p>The backbone list containing the positions of the backbone atoms</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.stem_rmsd"> -<code class="descname">stem_rmsd</code><a class="headerlink" href="#promod3.loop.LoopCandidate.stem_rmsd" title="Permalink to this definition">¶</a></dt> -<dd><p>The backbone RMSD of the two stem residues of the loop candidate relative to the stem residues for which the loop is being modelled. This is a measure of how well the loop candidate fits in the structure where it is being added.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.clash_score"> -<code class="descname">clash_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.clash_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The clash score of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.cbeta_score"> -<code class="descname">cbeta_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.cbeta_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The C-beta score of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.torsion_score"> -<code class="descname">torsion_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.torsion_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The torsion score of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.packing_score"> -<code class="descname">packing_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.packing_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The packing score of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.hbond_score"> -<code class="descname">hbond_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.hbond_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The H-bond score of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.loop.LoopCandidate.dssp_hbond_score"> -<code class="descname">dssp_hbond_score</code><a class="headerlink" href="#promod3.loop.LoopCandidate.dssp_hbond_score" title="Permalink to this definition">¶</a></dt> -<dd><p>The DSSP H-bond of the loop candidate</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -</dd></dl> - -<dl class="class"> -<dt id="promod3.loop.LoopCandidates"> -<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">LoopCandidates</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>seq</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates" title="Permalink to this definition">¶</a></dt> -<dd><p>The <em>LoopCandidates</em> is the basic object used for loop modelling. It contains the positions of the two anchor residues, the <em>n_stem</em> and <em>c_stem</em> residues, and the sequence of the residues to be modelled in between these anchor residues. -It also contains a list of <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>, which are possible conformations of the backbone between the stem residues.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</li> -<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</li> -<li><strong>seq</strong> – The sequence of residues to be added between the <em>n_stem</em> and <em>c_stem</em></li> -</ul> -</td> -</tr> -</tbody> -</table> -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.FillFromDatabase"> -<code class="descname">FillFromDatabase</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>seq</em>, <em>frag_db</em>, <em>structural_db</em><span class="optional">[</span>, <em>extended_search=False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.FillFromDatabase" title="Permalink to this definition">¶</a></dt> -<dd><p>Searches for loop candidates matching the length (number of residues in <em>seq</em>) and geometry (of <em>n_stem</em> and <em>c_stem</em>) of the loop to be modelled in a fragment database.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</li> -<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</li> -<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be added between the <em>n_stem</em> and <em>c_stem</em></li> -<li><strong>frag_db</strong> (<a class="reference internal" href="structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) – The fragment database</li> -<li><strong>structural_db</strong> – The according structural database</li> -<li><strong>extended_search</strong> (<code class="xref py py-class docutils literal"><span class="pre">Bool</span></code>) – Wether search should be extended to fragments matching the geometry of the <em>n_stem</em> and <em>c_stem</em> a bit less precisely.</li> -</ul> -</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A list of loop candidates</p> -</td> -</tr> -<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a></p> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.FillFromMonteCarloSampler"> -<code class="descname">FillFromMonteCarloSampler</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>initial_bb</em>, <em>seq</em>, <em>num_loops</em>, <em>steps</em>, <em>sampler</em>, <em>closer</em>, <em>scorer</em>, <em>cooler</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.FillFromMonteCarloSampler" title="Permalink to this definition">¶</a></dt> -<dd><p>Uses Monte Carlo simulated annealing to sample the loop to be modelled.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</li> -<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</li> -<li><strong>initial_bb</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – Initial configuration used for the sampling</li> -<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be added between the <em>n_stem</em> and <em>c_stem</em></li> -<li><strong>num_loops</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of loop candidates to return</li> -<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate generated</li> -<li><strong>sampler</strong> (<a class="reference internal" href="monte_carlo.html#mc-sampler-object"><span>Sampler Object</span></a>) – Used to generate a new configuration at each MC step</li> -<li><strong>closer</strong> (<a class="reference internal" href="monte_carlo.html#mc-closer-object"><span>Closer Object</span></a>) – Used to close the loop (make it match the <em>n_stem</em> and <em>c_stem</em> geometry) after each MC step</li> -<li><strong>scorer</strong> (<a class="reference internal" href="monte_carlo.html#mc-scorer-object"><span>Scorer Object</span></a>) – Used to score the generated configurations at each MC step</li> -<li><strong>cooler</strong> (<a class="reference internal" href="monte_carlo.html#mc-cooler-object"><span>Cooler Object</span></a>) – Controls the temperature profile of the simulated annealing</li> -</ul> -</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A list of loop candidates</p> -</td> -</tr> -<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a></p> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt> -<code class="descname">FillFromMonteCarloSampler</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>seq</em>, <em>num_loops</em>, <em>steps</em>, <em>sampler</em>, <em>closer</em>, <em>scorer</em>, <em>cooler</em><span class="sig-paren">)</span></dt> -<dd><p>Uses Monte Carlo simulated annealing to sample the loop to be modelled.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</li> -<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</li> -<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be added between the <em>n_stem</em> and <em>c_stem</em></li> -<li><strong>num_loops</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of loop candidates to return</li> -<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate generated</li> -<li><strong>sampler</strong> (<a class="reference internal" href="monte_carlo.html#mc-sampler-object"><span>Sampler Object</span></a>) – Used to generate a new configuration at each MC step</li> -<li><strong>closer</strong> (<a class="reference internal" href="monte_carlo.html#mc-closer-object"><span>Closer Object</span></a>) – Used to close the loop (make it match the <em>n_stem</em> and <em>c_stem</em> geometry) after each MC step</li> -<li><strong>scorer</strong> (<a class="reference internal" href="monte_carlo.html#mc-scorer-object"><span>Scorer Object</span></a>) – Used to score the generated configurations at each MC step</li> -<li><strong>cooler</strong> (<a class="reference internal" href="monte_carlo.html#mc-cooler-object"><span>Cooler Object</span></a>) – Controls the temperature profile of the simulated annealing</li> -</ul> -</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A list of loop candidates</p> -</td> -</tr> -<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a></p> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.ClusterCandidates"> -<code class="descname">ClusterCandidates</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ClusterCandidates" title="Permalink to this definition">¶</a></dt> -<dd><p>Clusters the loop candidates according to their pairwise CA-RMSD using a FLAME (fuzzy clustering by local approximation fo memberships) clustering algorithm.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A list of <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>. Each element in the list corresponds to the candidates in one cluster.</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.ApplyCCD"> -<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><em>torsion_sampler</em><span class="optional">[</span>, <em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em>, <em>step_size=1.0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ApplyCCD" title="Permalink to this definition">¶</a></dt> -<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> (i.e. modifies the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues match those of the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>, which are the stem residues of the loop being modelled), using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm. At each step of the closing the <em>torsion_sampler</em> is used to calculate the probability of the proposed move and accepted or not depending on a metropolis criterium.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>torsion_sampler</strong> (<a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – The torsion sampler</li> -<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximum number of iteration</li> -<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Cutoff in stem residue RMSD used to determine convergence</li> -<li><strong>keep_non_converged</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Wether to keep loop candidates for which the closing did not converged</li> -<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – seed for random number generator</li> -<li><strong>step_size</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – size of the steps taken during loop closing.</li> -</ul> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt> -<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><em>torsion_samplers</em><span class="optional">[</span>, <em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em>, <em>step_size=1.0</em><span class="optional">]</span><span class="sig-paren">)</span></dt> -<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> (i.e. modifies the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues match those of the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>, which are the stem residues of the loop being modelled) using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm. At each step of the closing the <em>torsion_sampler</em> is used to calculate the probability of the proposed move and accepted or not depending on a metropolis criterium.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>torsion_sampler</strong> – A list containing one torsion sampler for each residue in the loop.</li> -<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximum number of iteration</li> -<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Cutoff in stem residue RMSD used to determine convergence</li> -<li><strong>keep_non_converged</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Wether to keep loop candidates for which the closing did not converged</li> -<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – seed for random number generator</li> -<li><strong>step_size</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – size of the steps taken during loop closing.</li> -</ul> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt> -<code class="descname">ApplyCCD</code><span class="sig-paren">(</span><span class="optional">[</span><em>max_iterations=1000</em>, <em>rmsd_cutoff=0.1</em>, <em>keep_non_converged=false</em>, <em>random_seed=0</em>, <em>step_size=1.0</em><span class="optional">]</span><span class="sig-paren">)</span></dt> -<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> (i.e. modifies the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues match those of the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>, which are the stem residues of the loop being modelled), using the CCD algorithm. CCD (cyclic coordinate descent) is an iterative minimization algorithm.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximum number of iteration</li> -<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Cutoff in stem residue RMSD used to determine convergence</li> -<li><strong>keep_non_converged</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Wether to keep loop candidates for which the closing did not converged</li> -<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – seed for random number generator</li> -<li><strong>step_size</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – size of the steps taken during loop closing.</li> -</ul> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.ApplyKIC"> -<code class="descname">ApplyKIC</code><span class="sig-paren">(</span><em>pivot_one</em>, <em>pivot_two</em>, <em>pivot_three</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ApplyKIC" title="Permalink to this definition">¶</a></dt> -<dd><p>Closes all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> in <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a> (i.e. modifies the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> so that its stem residues match those of the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>, which are the stem residues of the loop being modelled), using the KIC algorithm. This algorithm finds analytical solutions for closing the loop by modifying the torsion angles of just three pivot residues. Due to the underlying mathematical formalism in KIC, up to 16 solutions can be found for every candidate. This leads to an increase in number of loops.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>pivot_one</strong> – Maximum number of iteration</li> -<li><strong>pivot_two</strong> – Cutoff in stem residue RMSD used</li> -<li><strong>pivot_three</strong> – Wether to keep loop candidates for</li> -</ul> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.ToEntity"> -<code class="descname">ToEntity</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.ToEntity" title="Permalink to this definition">¶</a></dt> -<dd><p>Transforms the loop candidate with index <em>index</em> in the list of candidates into an <a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a> that will be transformed into an class:<cite>ost.mol.EntityHandle</cite></td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">An class:<cite>ost.mol.EntityHandle</cite></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.InsertInto"> -<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>entity</em>, <em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.InsertInto" title="Permalink to this definition">¶</a></dt> -<dd><p>Inserts the loop candidate with index <em>index</em> in the list of candidates into the <em>entity</em>.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a></li> -<li><strong>entity</strong> (class:<cite>ost.mol.EntityHandle</cite>) – The entity</li> -</ul> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateClasScores"> -<code class="descname">CalculateClasScores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateClasScores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the clash score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. Scores include interactions within the loop and between the loop and the environment (set in the scorer).</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateBetaScores"> -<code class="descname">CalculateBetaScores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateBetaScores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the C-beta score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. Scores include interactions within the loop and between the loop and the environment (set in the scorer). -This score is a pairwise statistical potential based only on C-beta positions.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateTorsionScores"> -<code class="descname">CalculateTorsionScores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateTorsionScores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the torsion score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. This score only includes contributions from the torsion angles of the <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> -<p>This score is a statistical potential based only on backbone dihedral angles specific for triplet of residues (torsion potential depends on the identity of the residue and its two neighbors).</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculatePackingScores"> -<code class="descname">CalculatePackingScores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculatePackingScores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the packing score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. Scores include interactions within the loop and between the loop and the environment (set in the scorer). -This score is a statistical potential measuring and scoring the solvent exposure of the residues.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateHBondcores"> -<code class="descname">CalculateHBondcores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateHBondcores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the HBond score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. Scores include interactions within the loop and between the loop and the environment (set in the scorer). -This score measures the energy of H-bonds.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateDSSPHBondScores"> -<code class="descname">CalculateDSSPHBondScores</code><span class="sig-paren">(</span><span class="optional">[</span><em>chain_index=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateDSSPHBondScores" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the C-beta score for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>. Scores include interactions within the loop and between the loop and the environment (set in the scorer). -This score measures the energy of H-bonds as defined by DSSP.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>chain_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the chain to which the loop belongs (index relative to the entity forming the environment in the <code class="xref py py-class docutils literal"><span class="pre">BackboneScorer</span></code>)</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.CalculateStemRMSD"> -<code class="descname">CalculateStemRMSD</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.CalculateStemRMSD" title="Permalink to this definition">¶</a></dt> -<dd><p>Calculates and assigns the stem RMSD (i.e. the RMSD between the stem residues of the loop candidate and the stem residues of the loop being modelled) for each <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</p> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGClasScore"> -<code class="descname">GetAVGClasScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGClasScore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the clash scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGCBetaScore"> -<code class="descname">GetAVGCBetaScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGCBetaScore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the C-beta scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGTorsionScore"> -<code class="descname">GetAVGTorsionScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGTorsionScore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the torsion scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGPackingScore"> -<code class="descname">GetAVGPackingScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGPackingScore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the packing scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGHBondcore"> -<code class="descname">GetAVGHBondcore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGHBondcore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the H-bond scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGDSSPHBondScore"> -<code class="descname">GetAVGDSSPHBondScore</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGDSSPHBondScore" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the DSSP H-bond scores of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetAVGStemRMSD"> -<code class="descname">GetAVGStemRMSD</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetAVGStemRMSD" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The average of the stem RMSDs of all <a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)">float</a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetNStem"> -<code class="descname">GetNStem</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetNStem" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The N-stem of loop being modelled</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.GetCStem"> -<code class="descname">GetCStem</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.GetCStem" title="Permalink to this definition">¶</a></dt> -<dd><table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The C-stem of loop being modelled</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.Add"> -<code class="descname">Add</code><span class="sig-paren">(</span><em>loop_candidate</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.Add" title="Permalink to this definition">¶</a></dt> -<dd><p>Add a loop candidate to the list of candidates</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>loop_candidate</strong> (<a class="reference internal" href="#promod3.loop.LoopCandidate" title="promod3.loop.LoopCandidate"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidate</span></code></a>) – The loop candidate</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt> -<code class="descname">Add</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span></dt> -<dd><p>Add a loop candidate to the list of candidates from a list of backbone positions</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>bb_list</strong> (<a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal"><span class="pre">BackboneList</span></code></a>) – The backbone list</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.Remove"> -<code class="descname">Remove</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.Remove" title="Permalink to this definition">¶</a></dt> -<dd><p>Remove a loop candidate from the list of candidates.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The index of the candidate that will be removed</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.loop.LoopCandidates.AttachScorer"> -<code class="descname">AttachScorer</code><span class="sig-paren">(</span><em>scorer</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoopCandidates.AttachScorer" title="Permalink to this definition">¶</a></dt> -<dd><p>Attaches a scorer to the <a class="reference internal" href="#promod3.loop.LoopCandidates" title="promod3.loop.LoopCandidates"><code class="xref py py-class docutils literal"><span class="pre">LoopCandidates</span></code></a>. The scorer contains the information about the environment of the loop candidates and is mandatory to calculate the different scores for the loop candidates.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>scorer</strong> (<a class="reference internal" href="backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – The scorer</td> -</tr> -</tbody> -</table> -</dd></dl> - -</dd></dl> - -</div> - - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"><div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../index.html">Documentation overview</a><ul> - <li><a href="../developers.html">Documentation For Developers</a><ul> - <li><a href="index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a><ul> - <li>Previous: <a href="monte_carlo.html" title="previous chapter">Monte Carlo Sampling</a></li> - <li>Next: <a href="load_loop_objects.html" title="next chapter">Load Loop Objects</a></li> - </ul></li> - </ul></li> - </ul></li> -</ul> -</div> - <div role="note" aria-label="source link"> - <h3>This Page</h3> - <ul class="this-page-menu"> - <li><a href="../_sources/loop/loop_candidate.txt" - rel="nofollow">Show Source</a></li> - </ul> - </div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - | - <a href="../_sources/loop/loop_candidate.txt" - rel="nofollow">Page source</a> - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/loop/monte_carlo.html b/doc/html/loop/monte_carlo.html index c1cda0350fa7973ef40b14c1d58a0f16e7c65edb..8874a342c0388d797b093db7b3c5ad2c876df113 100644 --- a/doc/html/loop/monte_carlo.html +++ b/doc/html/loop/monte_carlo.html @@ -25,7 +25,7 @@ <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="loop - Loop Modelling" href="index.html" /> - <link rel="next" title="Loop Candidates" href="loop_candidate.html" /> + <link rel="next" title="Load Loop Objects" href="load_loop_objects.html" /> <link rel="prev" title="Loop Scoring" href="backbone_loop_score.html" /> @@ -678,7 +678,7 @@ the returned temperature gets multiplied by the <strong>cooling_factor</strong>. <li><a href="../developers.html">Documentation For Developers</a><ul> <li><a href="index.html"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a><ul> <li>Previous: <a href="backbone_loop_score.html" title="previous chapter">Loop Scoring</a></li> - <li>Next: <a href="loop_candidate.html" title="next chapter">Loop Candidates</a></li> + <li>Next: <a href="load_loop_objects.html" title="next chapter">Load Loop Objects</a></li> </ul></li> </ul></li> </ul></li> diff --git a/doc/html/loop/structure_db.html b/doc/html/loop/structure_db.html index ade6c2338ca8ab7bbd5736147b28d1e660f6e4a4..29ffdc9b3ac4ed770661e0e87e0a021eb4b1b7c0 100644 --- a/doc/html/loop/structure_db.html +++ b/doc/html/loop/structure_db.html @@ -837,8 +837,8 @@ As the fragments are added they are organized in bins described by their length <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The N-stem</li> -<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The C-stem</li> +<li><strong>n_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a> / <a class="reference internal" href="backbone.html#promod3.loop.Backbone" title="promod3.loop.Backbone"><code class="xref py py-class docutils literal"><span class="pre">Backbone</span></code></a>) – The N-stem</li> +<li><strong>c_stem</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a> / <a class="reference internal" href="backbone.html#promod3.loop.Backbone" title="promod3.loop.Backbone"><code class="xref py py-class docutils literal"><span class="pre">Backbone</span></code></a>) – The C-stem</li> <li><strong>frag_size</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – The length of the fragment</li> <li><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Whether an extended search should be performed, which will include fragments from bins surrounding the bin describing the <strong>n_stem</strong> and <strong>c_stem</strong> geometry.</li> </ul> @@ -1001,7 +1001,7 @@ There will be no pair of fragments with RMSD below <strong>rmsd_thresh</strong>. <dl class="method"> <dt id="promod3.loop.Fragger.AddSSAgreeParameters"> -<code class="descname">AddSSAgreeParameters</code><span class="sig-paren">(</span><em>w</em>, <em>psipred_prediction</em>, <em>psipred_confidence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSSAgreeParameters" title="Permalink to this definition">¶</a></dt> +<code class="descname">AddSSAgreeParameters</code><span class="sig-paren">(</span><em>w</em>, <em>psipred_prediction</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSSAgreeParameters" title="Permalink to this definition">¶</a></dt> <dd><p>Add SSAgree score component with linear weight <strong>w</strong></p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -1009,10 +1009,7 @@ There will be no pair of fragments with RMSD below <strong>rmsd_thresh</strong>. <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> <li><strong>w</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – linear weight</li> -<li><strong>psipred_prediction</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a>) – Secondary structure state (‘H’,’E’,’C’) as predicted -by PSIPRED for every item in the Fraggers target sequence</li> -<li><strong>psipred_confidence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a>) – Confidence for secondary structure state ([0,9]) as predicted -by PSIPRED for every item in the Fraggers target sequence</li> +<li><strong>psipred_prediction</strong> (<a class="reference internal" href="helper_classes.html#PsipredPrediction" title="PsipredPrediction"><code class="xref py py-class docutils literal"><span class="pre">PsipredPrediction</span></code></a>) – Psipred prediction for fraggers target_sequence</li> </ul> </td> </tr> diff --git a/doc/html/modelling/index.html b/doc/html/modelling/index.html new file mode 100644 index 0000000000000000000000000000000000000000..51d7ec7567b8349e443604e573216adcc31f3822 --- /dev/null +++ b/doc/html/modelling/index.html @@ -0,0 +1,996 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>modelling - Protein Modelling — ProMod3 0 documentation</title> + + <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: '../', + VERSION: '0', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> + <link rel="up" title="Documentation For Developers" href="../developers.html" /> + <link rel="next" title="loop - Loop Modelling" href="../loop/index.html" /> + <link rel="prev" title="helper - Shared Functionality For the Everything" href="../core/helper.html" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> + + </head> + <body role="document"> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <div class="section" id="module-promod3.modelling"> +<span id="modelling-protein-modelling"></span><h1><a class="reference internal" href="#module-promod3.modelling" title="promod3.modelling: Protein Modelling"><code class="xref py py-mod docutils literal"><span class="pre">modelling</span></code></a> - Protein Modelling<a class="headerlink" href="#module-promod3.modelling" title="Permalink to this headline">¶</a></h1> +<p>High-level functionality for protein modelling. +Commonly, your input is a template structure and an alignment of the template to +the desired target sequence. +A protein homology modelling pipeline then has the following main steps:</p> +<ul class="simple"> +<li>Build a raw model from the template (see <a class="reference internal" href="#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a> function)</li> +<li>Perform loop modelling to close all gaps (see <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByDatabase()</span></code></a> and <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByMonteCarlo()</span></code></a> function)</li> +<li>Build sidechains (see <a class="reference internal" href="#promod3.modelling.BuildSidechains" title="promod3.modelling.BuildSidechains"><code class="xref py py-func docutils literal"><span class="pre">BuildSidechains()</span></code></a> function)</li> +<li>Minimize energy of final model using molecular mechanics +(see <a class="reference internal" href="#promod3.modelling.MinimizeModelEnergy" title="promod3.modelling.MinimizeModelEnergy"><code class="xref py py-func docutils literal"><span class="pre">MinimizeModelEnergy()</span></code></a> function)</li> +</ul> +<p>The last steps to go from a raw model to a final model can easily be executed +with the <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildFromRawModel()</span></code></a> function. In its simplest form, one can run +a full protein homology modelling pipeline as follows:</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">io</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> + +<span class="c"># get raw model</span> +<span class="n">tpl</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'data/1crn_cut.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'data/1crn.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> + +<span class="c"># build final model</span> +<span class="n">final_model</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildFromRawModel</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">final_model</span><span class="p">,</span> <span class="s">'model.pdb'</span><span class="p">)</span> +</pre></div> +</div> +<p>If you want to run and tweak the internal steps, you can start with the +following code which is equivalent to the example above:</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">io</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> + +<span class="c"># setup</span> +<span class="n">merge_distance</span> <span class="o">=</span> <span class="mi">4</span> +<span class="n">fragment_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadFragDB</span><span class="p">()</span> +<span class="n">structure_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadStructureDB</span><span class="p">()</span> +<span class="n">torsion_sampler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">()</span> + +<span class="c"># get raw model</span> +<span class="n">tpl</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'data/1crn_cut.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'data/1crn.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> + +<span class="c"># perform loop modelling to close all gaps</span> +<span class="n">scorer</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">CloseSmallDeletions</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">RemoveTerminalGaps</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="k">for</span> <span class="n">distance</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">merge_distance</span><span class="p">):</span> + <span class="n">modelling</span><span class="o">.</span><span class="n">MergeGapsByDistance</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">distance</span><span class="p">)</span> + <span class="n">modelling</span><span class="o">.</span><span class="n">FillLoopsByDatabase</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">fragment_db</span><span class="p">,</span> + <span class="n">structure_db</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">)</span> +<span class="c"># if above fails on some gaps, use Monte Carlo</span> +<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">modelling</span><span class="o">.</span><span class="n">FillLoopsByMonteCarlo</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">)</span> +<span class="c"># build sidechains</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">BuildSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="c"># minimize energy of final model using molecular mechanics</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">MinimizeModelEnergy</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> + +<span class="c"># extract final model</span> +<span class="n">final_model</span> <span class="o">=</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span> +<span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">final_model</span><span class="p">,</span> <span class="s">'model.pdb'</span><span class="p">)</span> +</pre></div> +</div> +<div class="section" id="modelling-pipeline"> +<h2>Modelling Pipeline<a class="headerlink" href="#modelling-pipeline" title="Permalink to this headline">¶</a></h2> +<dl class="function"> +<dt id="promod3.modelling.BuildRawModel"> +<code class="descclassname">promod3.modelling.</code><code class="descname">BuildRawModel</code><span class="sig-paren">(</span><em>alignment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildRawModel" title="Permalink to this definition">¶</a></dt> +<dt> +<code class="descclassname">promod3.modelling.</code><code class="descname">BuildRawModel</code><span class="sig-paren">(</span><em>alignments</em><span class="sig-paren">)</span></dt> +<dd><p>Builds a raw (pseudo) model from the alignment. Can either take a single +alignment handle or an alignment handle list. Every list item is treated as a +single chain in the final raw model.</p> +<p>Each alignment handle must contain exactly two sequences and the second +sequence is considered the template sequence, which must have a +<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a> attached.</p> +<p>This is a basic protein core modelling algorithm that copies backbone +coordinates based on the sequence alignment. For matching residues, the +side chain coordinates are also copied. Gaps are ignored. Hydrogen an +deuterium atoms are not copied into the model.</p> +<p>The function tries to reuse as much as possible from the template. Modified +residues are treated as follows:</p> +<blockquote> +<div><ul class="simple"> +<li>Selenium methionine residues are converted to methionine</li> +<li>Side chains which contain all atoms of the parent amino acid, e.g. +phosphoserine are copied as a whole with the modifications stripped off.</li> +</ul> +</div></blockquote> +<p>Residue numbers are set such that missing residue in gaps are honoured and +subsequent loop modelling can insert new residues without having to +renumber.</p> +<p>The returned <a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a> stores the obtained raw model as well +as information about insertions and deletions in the gaps list.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>alignment</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">AlignmentHandle</span></code></a>) – Single alignment handle for raw model.</li> +<li><strong>alignments</strong> (<code class="xref py py-class docutils literal"><span class="pre">AlignmentList</span></code>) – List of alignment handles for raw model with multiple chains.</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Raw (pseudo) model from the alignment.</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a></p> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code> when the second sequence does not have an +attached structure</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.BuildFromRawModel"> +<code class="descclassname">promod3.modelling.</code><code class="descname">BuildFromRawModel</code><span class="sig-paren">(</span><em>mhandle</em>, <em>fragment_db=None</em>, <em>structure_db=None</em>, <em>torsion_sampler=None</em>, <em>merge_distance=4</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_pipeline.html#BuildFromRawModel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.BuildFromRawModel" title="Permalink to this definition">¶</a></dt> +<dd><p>Build a model starting with a raw model (see <a class="reference internal" href="#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a>).</p> +<p>This function will:</p> +<ol class="arabic simple"> +<li>close small deletions and remove terminal gaps +(see <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal"><span class="pre">CloseSmallDeletions()</span></code></a> and <a class="reference internal" href="#promod3.modelling.RemoveTerminalGaps" title="promod3.modelling.RemoveTerminalGaps"><code class="xref py py-func docutils literal"><span class="pre">RemoveTerminalGaps()</span></code></a>)</li> +<li>iteratively: merge gaps of distance i and fill loops by database +(i from 0 to <em>merge_distance</em>-1) +(see <a class="reference internal" href="#promod3.modelling.MergeGapsByDistance" title="promod3.modelling.MergeGapsByDistance"><code class="xref py py-func docutils literal"><span class="pre">MergeGapsByDistance()</span></code></a> and <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByDatabase()</span></code></a>)</li> +<li>close remaining gaps by Monte Carlo +(see <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByMonteCarlo()</span></code></a>)</li> +<li>build sidechains +(see <a class="reference internal" href="#promod3.modelling.BuildSidechains" title="promod3.modelling.BuildSidechains"><code class="xref py py-func docutils literal"><span class="pre">BuildSidechains()</span></code></a>)</li> +<li>minimize energy for the final model, which is then returned +(see <a class="reference internal" href="#promod3.modelling.MinimizeModelEnergy" title="promod3.modelling.MinimizeModelEnergy"><code class="xref py py-func docutils literal"><span class="pre">MinimizeModelEnergy()</span></code></a>)</li> +</ol> +<p>If function fails to close all gaps, it will produce a warning and return +an incomplete model.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – The prepared template coordinates loaded with the input +alignment.</li> +<li><strong>fragment_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) – A fragment database coupled to the <em>structure_db</em>. +Loads the default one shipped with ProMod3 if omitted.</li> +<li><strong>structure_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><span class="pre">StructureDB</span></code></a>) – The structural database. Loads the default one shipped +with ProMod3 if omitted.</li> +<li><strong>torsion_sampler</strong> (<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. Loads the default one +shipped with ProMod3 if omitted.</li> +<li><strong>merge_distance</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximal distance up to which 2 gaps are merged. The +gaps need to be immediate neighbours, distance is +counted by residues, including stems. So <strong>A-A-A</strong> +have a distance of 0 and therefore merging is only +applied until <em>merge_distance</em> - 1.</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Delivers the model as an OST entity.</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.BuildSidechains"> +<code class="descclassname">promod3.modelling.</code><code class="descname">BuildSidechains</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_pipeline.html#BuildSidechains"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.BuildSidechains" title="Permalink to this definition">¶</a></dt> +<dd><p>Build sidechains for model.</p> +<p>This is esentially a wrapper for <a class="reference internal" href="../sidechain/index.html#promod3.sidechain.Reconstruct" title="promod3.sidechain.Reconstruct"><code class="xref py py-func docutils literal"><span class="pre">promod3.sidechain.Reconstruct()</span></code></a>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.MinimizeModelEnergy"> +<code class="descclassname">promod3.modelling.</code><code class="descname">MinimizeModelEnergy</code><span class="sig-paren">(</span><em>mhandle</em>, <em>max_iterations=3</em>, <em>max_iter_sd=30</em>, <em>max_iter_lbfgs=20</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_pipeline.html#MinimizeModelEnergy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.MinimizeModelEnergy" title="Permalink to this definition">¶</a></dt> +<dd><p>Minimize energy of final model using molecular mechanics.</p> +<p>Uses <code class="xref py py-mod docutils literal"><span class="pre">ost.mol.mm</span></code> to perform energy minimization. +It will iteratively (at most <em>max_iterations</em> times):</p> +<ul class="simple"> +<li>run up to <em>max_iter_sd</em> minimization iterations of a steepest descend method</li> +<li>run up to <em>max_iter_lbfgs</em> minimization iterations of a Limited-memory +Broyden-Fletcher-Goldfarb-Shanno method</li> +<li>abort if no stereochemical problems found</li> +</ul> +<p>The idea is that we don’t want to minimize “too much”. So, we iteratively +minimize until there are no stereochemical problems and not more.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Max. number of iterations for SD+LBFGS</li> +<li><strong>max_iter_sd</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Max. number of iterations within SD method</li> +<li><strong>max_iter_lbfgs</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Max. number of iterations within LBFGS method</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +</div> +<div class="section" id="closing-gaps"> +<h2>Closing Gaps<a class="headerlink" href="#closing-gaps" title="Permalink to this headline">¶</a></h2> +<dl class="function"> +<dt id="promod3.modelling.SetupBackboneScorer"> +<code class="descclassname">promod3.modelling.</code><code class="descname">SetupBackboneScorer</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_closegaps.html#SetupBackboneScorer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.SetupBackboneScorer" title="Permalink to this definition">¶</a></dt> +<dd><p>Get a scorer for medling with backbones.</p> +<p>This one is already tailored towards a certain modelling job.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – The modelling handle this scorer should be dedicated to.</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A scorer instance.</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.CloseSmallDeletions"> +<code class="descclassname">promod3.modelling.</code><code class="descname">CloseSmallDeletions</code><span class="sig-paren">(</span><em>mhandle</em>, <em>scorer</em>, <em>extension_steps=9</em>, <em>clash_thresh=1.0</em>, <em>e_thresh=200</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_closegaps.html#CloseSmallDeletions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.CloseSmallDeletions" title="Permalink to this definition">¶</a></dt> +<dd><p>Close small deletions by relaxing neighbouring residues.</p> +<p>Small deletions in the template from the target-template alignment have a +good chance to be bridged just by relaxing neighbours around a tiny gap. +Before diving into the more demanding tasks in modeling, those may be closed +already in the raw-model. After closure some checks are done to see if the +solution is stereochemically sensible.</p> +<p>Closed gaps are removed from <code class="xref py py-attr docutils literal"><span class="pre">mhandle.gaps</span></code>.</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ost</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> + +<span class="n">tpl</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'gly.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'seq.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> +<span class="n">scorer</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">CloseSmallDeletions</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">)</span> +</pre></div> +</div> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>scorer</strong> (<a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – A scorer dedicated to this model. +If gaps are closed, the <em>scorer</em> is updated.</li> +<li><strong>extension_steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Iterations allowed for gap extension. This does not +directly mean ‘extended size of gap’ but no. of +attempts to extend. Extension works like trying to +increase left, then right, then try more on the +left side again...</li> +<li><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Threshold for the clash score, acceptance means being +lower than this.</li> +<li><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Potential energy should be lower than this.</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.RemoveTerminalGaps"> +<code class="descclassname">promod3.modelling.</code><code class="descname">RemoveTerminalGaps</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RemoveTerminalGaps" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Number of gaps which were removed.</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.MergeGapsByDistance"> +<code class="descclassname">promod3.modelling.</code><code class="descname">MergeGapsByDistance</code><span class="sig-paren">(</span><em>mhandle</em>, <em>distance</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_closegaps.html#MergeGapsByDistance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.MergeGapsByDistance" title="Permalink to this definition">¶</a></dt> +<dd><p>Merge 2 neighbouring gaps by deleting residues in-between.</p> +<p>Check if two neighbouring gaps are at max. <em>distance</em> residues apart from +each other. Then delete the residues and store a new gap spanning the whole +stretch of original gaps and the deleted region. Original gaps will be +removed. Stem residues count to the gap, so <strong>A-A-A</strong> has a distance of 0.</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ost</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> + +<span class="n">tpl</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'1mcg.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'1mcg_aln.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">MergeGapsByDistance</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> +</pre></div> +</div> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>distance</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The max. no. of residues between two gaps up to which +merge happens.</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.FillLoopsByDatabase"> +<code class="descclassname">promod3.modelling.</code><code class="descname">FillLoopsByDatabase</code><span class="sig-paren">(</span><em>mhandle</em>, <em>scorer</em>, <em>fragment_db</em>, <em>structure_db</em>, <em>torsion_sampler</em>, <em>max_loops_to_search=40</em>, <em>extended_search=True</em>, <em>use_scoring_extender=True</em>, <em>max_db_loop_len=12</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_closegaps.html#FillLoopsByDatabase"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.FillLoopsByDatabase" title="Permalink to this definition">¶</a></dt> +<dd><p>Try to fill up loops from a structural database.</p> +<p>Usually this will extend the gaps a bit to match candidates from the +database. Do not expect a gap being filled in between its actual stem +residues. +This function cannot fill gaps at C- or N-terminal.</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> + +<span class="n">tpl</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'2dbs.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'2dbs.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> + +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> +<span class="n">scorer</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">FillLoopsByDatabase</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> + <span class="n">loop</span><span class="o">.</span><span class="n">LoadFragDB</span><span class="p">(),</span> + <span class="n">loop</span><span class="o">.</span><span class="n">LoadStructureDB</span><span class="p">(),</span> + <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">())</span> +</pre></div> +</div> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>scorer</strong> (<a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – A scorer dedicated to this model. +If gaps are closed, the <em>scorer</em> is updated.</li> +<li><strong>fragment_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) – A fragment database coupled to the <em>structure_db</em>.</li> +<li><strong>structure_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><span class="pre">StructureDB</span></code></a>) – Backbone/ profile data.</li> +<li><strong>torsion_sampler</strong> (<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles.</li> +<li><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Define how many candidates are ‘enough’ to be +evaluated per loop.</li> +<li><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – True = more loop candidates are considered. +The candidate search is done less precisely (see +<a class="reference internal" href="../loop/helper_classes.html#promod3.loop.LoopCandidates.FillFromDatabase" title="promod3.loop.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal"><span class="pre">FillFromDatabase()</span></code></a>). +The candidates are still scored and evaluated the +same though (only more of them considered).</li> +<li><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal"><span class="pre">ScoringGapExtender</span></code></a> instead +of <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal"><span class="pre">GapExtender</span></code></a>. +The gap is penalized according as +0.8*length + sum(helices) + sum(sheets). +For the scondary-structure-penalty to work, +the model-template must have the appropriate +information before <a class="reference internal" href="#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a> is +called (e.g. with <a class="reference external" href="http://www.openstructure.org/docs/1.3/bindings/dssp/#module-ost.bindings.dssp" title="(in OpenStructure v1.3.3)"><code class="xref py py-mod docutils literal"><span class="pre">ost.bindings.dssp</span></code></a>).</li> +<li><strong>max_db_loop_len</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Max. len of loops for which a database search makes +sense. Should correspond to the biggest loop stored +in the database.</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.FillLoopsByMonteCarlo"> +<code class="descclassname">promod3.modelling.</code><code class="descname">FillLoopsByMonteCarlo</code><span class="sig-paren">(</span><em>mhandle</em>, <em>scorer</em>, <em>torsion_sampler</em>, <em>max_loops_to_search=6</em>, <em>max_extension=30</em>, <em>mc_num_loops=2</em>, <em>mc_steps=5000</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_closegaps.html#FillLoopsByMonteCarlo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.FillLoopsByMonteCarlo" title="Permalink to this definition">¶</a></dt> +<dd><p>Try to fill up loops with Monte Carlo sampling.</p> +<p>This is meant as a “last-resort” approach when it is not possible to fill +the loops from the database with <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByDatabase()</span></code></a>. +This will extend the gaps (up to <em>max_extension</em> times) a bit to allow for +more loop candidates to be found. +This function cannot fill gaps at C- or N-terminal.</p> +<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> + +<span class="n">tpl</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'2dbs.pdb'</span><span class="p">)</span> +<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'2dbs.fasta'</span><span class="p">)</span> +<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> + +<span class="n">mhandle</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> +<span class="n">scorer</span> <span class="o">=</span> <span class="n">modelling</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">mhandle</span><span class="p">)</span> +<span class="n">modelling</span><span class="o">.</span><span class="n">FillLoopsByMonteCarlo</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> + <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">())</span> +</pre></div> +</div> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>scorer</strong> (<a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – A scorer dedicated to this model. +If gaps are closed, the <em>scorer</em> is updated.</li> +<li><strong>torsion_sampler</strong> (<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles.</li> +<li><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Define how many candidates are ‘enough’ to be +evaluated per loop.</li> +<li><strong>max_extension</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Maximal number of gap extension steps to perform +(see <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal"><span class="pre">GapExtender</span></code></a>)</li> +<li><strong>mc_num_loops</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of loop candidates to consider for each extended gap +(see <a class="reference internal" href="../loop/helper_classes.html#promod3.loop.LoopCandidates.FillFromMonteCarloSampler" title="promod3.loop.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li> +<li><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate +(see <a class="reference internal" href="../loop/helper_classes.html#promod3.loop.LoopCandidates.FillFromMonteCarloSampler" title="promod3.loop.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li> +</ul> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.ClearGaps"> +<code class="descclassname">promod3.modelling.</code><code class="descname">ClearGaps</code><span class="sig-paren">(</span><em>mhandle</em>, <em>gap</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ClearGaps" title="Permalink to this definition">¶</a></dt> +<dd><p>Removes all gaps from mhandle which are fully enclosed by given gap.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>) – Gap defining range in which gaps are to be removed.</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Index of next gap in mhandle.gaps after removal. +Returns -1 if last gap was removed.</p> +</td> +</tr> +<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></p> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code> if any gap in mhandle.gaps is only partially +enclosed by given gap.</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="function"> +<dt id="promod3.modelling.MergeGaps"> +<code class="descclassname">promod3.modelling.</code><code class="descname">MergeGaps</code><span class="sig-paren">(</span><em>mhandle</em>, <em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MergeGaps" title="Permalink to this definition">¶</a></dt> +<dd><p>Merges two gaps mhandle.gaps[index] and mhandle.gaps[index+1].</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li> +<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Index of gap to merge with next one.</li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code> if indices out of range or if trying to merge +N-terminal gap with a C-terminal gap.</p> +</td> +</tr> +</tbody> +</table> +</dd></dl> + +</div> +<div class="section" id="modelling-handle-class"> +<h2>Modelling Handle class<a class="headerlink" href="#modelling-handle-class" title="Permalink to this headline">¶</a></h2> +<dl class="class"> +<dt id="promod3.modelling.ModellingHandle"> +<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ModellingHandle</code><a class="headerlink" href="#promod3.modelling.ModellingHandle" title="Permalink to this definition">¶</a></dt> +<dd><p>Handles the result for structure model building and provides high-level methods +to turn an initial raw model (see <a class="reference internal" href="#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a>) +into a complete protein model by removing any existing gaps.</p> +<dl class="attribute"> +<dt id="promod3.modelling.ModellingHandle.model"> +<code class="descname">model</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.model" title="Permalink to this definition">¶</a></dt> +<dd><p>The resulting model.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.ModellingHandle.gaps"> +<code class="descname">gaps</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.gaps" title="Permalink to this definition">¶</a></dt> +<dd><p>List of gaps in the model that could not be copied from the template. These +gaps may be the result of insertions/deletions in the alignment or due to +missing or incomplete backbone coordinates in the template structure. +Gaps of different chains are appended one after another.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference internal" href="#promod3.modelling.StructuralGapList" title="promod3.modelling.StructuralGapList"><code class="xref py py-class docutils literal"><span class="pre">StructuralGapList</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.ModellingHandle.seqres"> +<code class="descname">seqres</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.seqres" title="Permalink to this definition">¶</a></dt> +<dd><p>List of sequences with one <a class="reference external" href="http://www.openstructure.org/docs/1.3/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">SequenceHandle</span></code></a> for each chain +of target protein.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">SequenceList</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +</div> +<div class="section" id="gap-classes"> +<h2>Gap classes<a class="headerlink" href="#gap-classes" title="Permalink to this headline">¶</a></h2> +<dl class="class"> +<dt id="promod3.modelling.StructuralGap"> +<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">StructuralGap</code><span class="sig-paren">(</span><em>before</em>, <em>after</em>, <em>seq</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap" title="Permalink to this definition">¶</a></dt> +<dd><p>Describes a structural gap, i.e. a loop to be modeled. The gap may either be +terminal or between two defined regions. The gap stores information of the +last residue before and the first residue after the gap as well as the +sequence of gap. Gaps at the N- and C-terminals can be defined by passing +invalid residue handles to <cite>before</cite> or <cite>after</cite>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> +<li><strong>before</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.before" title="promod3.modelling.StructuralGap.before"><code class="xref py py-attr docutils literal"><span class="pre">before</span></code></a></li> +<li><strong>after</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a></li> +<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.seq" title="promod3.modelling.StructuralGap.seq"><code class="xref py py-attr docutils literal"><span class="pre">seq</span></code></a></li> +</ul> +</td> +</tr> +<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code> if both residues are invalid or when both +are valid and:</p> +<ul class="last simple"> +<li>residues are from different chains (if both valid)</li> +<li><cite>before</cite> is located after <cite>after</cite></li> +<li><cite>seq</cite> has a length which is inconsistent with the gap</li> +</ul> +</td> +</tr> +</tbody> +</table> +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.GetChainIndex"> +<code class="descname">GetChainIndex</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.GetChainIndex" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Index of chain, the gap is belonging to</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.GetChainName"> +<code class="descname">GetChainName</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.GetChainName" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Name of chain, the gap is belonging to</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.GetChain"> +<code class="descname">GetChain</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.GetChain" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Chain, the gap is belonging to</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.IsNTerminal"> +<code class="descname">IsNTerminal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.IsNTerminal" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff gap is N-terminal (i.e. <a class="reference internal" href="#promod3.modelling.StructuralGap.before" title="promod3.modelling.StructuralGap.before"><code class="xref py py-attr docutils literal"><span class="pre">before</span></code></a> is invalid +and <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a> is valid)</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.IsCTerminal"> +<code class="descname">IsCTerminal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.IsCTerminal" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff gap is C-terminal (i.e. <a class="reference internal" href="#promod3.modelling.StructuralGap.before" title="promod3.modelling.StructuralGap.before"><code class="xref py py-attr docutils literal"><span class="pre">before</span></code></a> is valid +and <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a> is invalid)</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.IsTerminal"> +<code class="descname">IsTerminal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.IsTerminal" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff gap is N- or C-terminal</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.ShiftCTerminal"> +<code class="descname">ShiftCTerminal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.ShiftCTerminal" title="Permalink to this definition">¶</a></dt> +<dd><p>Try to shift gap by one position towards C-terminal. Only possible if new +gap is not terminal and it doesn’t try to shift the gap past another gap.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff shift succeeded (gap is only updated in that case)</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.ExtendAtNTerm"> +<code class="descname">ExtendAtNTerm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.ExtendAtNTerm" title="Permalink to this definition">¶</a></dt> +<dd><p>Try to extend gap at N-terminal end of gap. +Only possible if the gap is not at N-terminal and it doesn’t try to +extend the gap past another gap.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff extend succeeded (gap is only updated in that case)</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.ExtendAtCTerm"> +<code class="descname">ExtendAtCTerm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.ExtendAtCTerm" title="Permalink to this definition">¶</a></dt> +<dd><p>Try to extend gap at C-terminal end of gap. +Only possible if the gap is not at C-terminal and it doesn’t try to +extend the gap past another gap.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, iff extend succeeded (gap is only updated in that case)</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.GetLength"> +<code class="descname">GetLength</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.GetLength" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Length of the gap.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="method"> +<dt id="promod3.modelling.StructuralGap.Copy"> +<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.StructuralGap.Copy" title="Permalink to this definition">¶</a></dt> +<dd><table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Copy of the gap.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.StructuralGap.length"> +<code class="descname">length</code><a class="headerlink" href="#promod3.modelling.StructuralGap.length" title="Permalink to this definition">¶</a></dt> +<dd><p>Alias for <a class="reference internal" href="#promod3.modelling.StructuralGap.GetLength" title="promod3.modelling.StructuralGap.GetLength"><code class="xref py py-meth docutils literal"><span class="pre">GetLength()</span></code></a> (read-only, <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>)</p> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.StructuralGap.seq"> +<code class="descname">seq</code><a class="headerlink" href="#promod3.modelling.StructuralGap.seq" title="Permalink to this definition">¶</a></dt> +<dd><p>Sequence string for the gap (read-only, <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>)</p> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.StructuralGap.before"> +<code class="descname">before</code><a class="headerlink" href="#promod3.modelling.StructuralGap.before" title="Permalink to this definition">¶</a></dt> +<dd><p>Residue before the gap (read-only, <a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.StructuralGap.after"> +<code class="descname">after</code><a class="headerlink" href="#promod3.modelling.StructuralGap.after" title="Permalink to this definition">¶</a></dt> +<dd><p>Residue after the gap (read-only, <a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p> +</dd></dl> + +<dl class="attribute"> +<dt id="promod3.modelling.StructuralGap.full_seq"> +<code class="descname">full_seq</code><a class="headerlink" href="#promod3.modelling.StructuralGap.full_seq" title="Permalink to this definition">¶</a></dt> +<dd><p>Full sequence, including stem residues (read-only)</p> +</dd></dl> + +</dd></dl> + +<dl class="class"> +<dt id="promod3.modelling.StructuralGapList"> +<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">StructuralGapList</code><a class="headerlink" href="#promod3.modelling.StructuralGapList" title="Permalink to this definition">¶</a></dt> +<dd><p>Represents a <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>.</p> +</dd></dl> + +</div> +<div class="section" id="gap-extender-classes"> +<h2>Gap Extender classes<a class="headerlink" href="#gap-extender-classes" title="Permalink to this headline">¶</a></h2> +<p>The extender classes work on a given <a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a> and provide an +Extend() function to propose new gaps for loop modelling. The function returns +False if no new extension possible.</p> +<dl class="class"> +<dt id="promod3.modelling.GapExtender"> +<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">GapExtender</code><span class="sig-paren">(</span><em>gap</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GapExtender" title="Permalink to this definition">¶</a></dt> +<dd><p>The extender cycles through the following steps:</p> +<div class="highlight-none"><div class="highlight"><pre> - + -- + -- + --- + --- + --- +---- + ---- + ---- + ---- +</pre></div> +</div> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>) – The gap which will be extended by <a class="reference internal" href="#promod3.modelling.GapExtender.Extend" title="promod3.modelling.GapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a>.</td> +</tr> +</tbody> +</table> +<dl class="method"> +<dt id="promod3.modelling.GapExtender.Extend"> +<code class="descname">Extend</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GapExtender.Extend" title="Permalink to this definition">¶</a></dt> +<dd><p>Tries to extend <cite>gap</cite>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">False, iff the gap cannot be extended any further.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +<dl class="class"> +<dt id="promod3.modelling.ScoringGapExtender"> +<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ScoringGapExtender</code><span class="sig-paren">(</span><em>gap</em>, <em>extension_penalty</em>, <em>penalties</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringGapExtender" title="Permalink to this definition">¶</a></dt> +<dd><p>The extender scores possible gap extensions and returns them in order of +their score when <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a> is called. +The score is penalized according to length and according to certain (well +conserved) regions in the structure. +score = length * <cite>extension_penalty</cite> + sum( <cite>penalties</cite> [i] ) +(i = res.num. of residues in extension)</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> +<li><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>) – The gap which will be extended by <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a>.</li> +<li><strong>extension_penalty</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Penalty for length of gap.</li> +<li><strong>penalties</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Penalty for each residue added to gap.</li> +</ul> +</td> +</tr> +</tbody> +</table> +<dl class="method"> +<dt id="promod3.modelling.ScoringGapExtender.Extend"> +<code class="descname">Extend</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringGapExtender.Extend" title="Permalink to this definition">¶</a></dt> +<dd><p>Tries to extend <cite>gap</cite>.</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">False, iff the gap cannot be extended any further.</td> +</tr> +<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td> +</tr> +</tbody> +</table> +</dd></dl> + +</dd></dl> + +</div> +</div> + + + </div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> + <h3><a href="../index.html">Table Of Contents</a></h3> + <ul> +<li><a class="reference internal" href="#"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a><ul> +<li><a class="reference internal" href="#modelling-pipeline">Modelling Pipeline</a></li> +<li><a class="reference internal" href="#closing-gaps">Closing Gaps</a></li> +<li><a class="reference internal" href="#modelling-handle-class">Modelling Handle class</a></li> +<li><a class="reference internal" href="#gap-classes">Gap classes</a></li> +<li><a class="reference internal" href="#gap-extender-classes">Gap Extender classes</a></li> +</ul> +</li> +</ul> +<div class="relations"> +<h3>Related Topics</h3> +<ul> + <li><a href="../index.html">Documentation overview</a><ul> + <li><a href="../developers.html">Documentation For Developers</a><ul> + <li>Previous: <a href="../core/helper.html" title="previous chapter"><code class="docutils literal"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li> + <li>Next: <a href="../loop/index.html" title="next chapter"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a></li> + </ul></li> + </ul></li> +</ul> +</div> + <div role="note" aria-label="source link"> + <h3>This Page</h3> + <ul class="this-page-menu"> + <li><a href="../_sources/modelling/index.txt" + rel="nofollow">Show Source</a></li> + </ul> + </div> +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <form class="search" action="../search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + <p class="searchtip" style="font-size: 90%"> + Enter search terms or a module, class or function name. + </p> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015, Bienchen. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> + + | + <a href="../_sources/modelling/index.txt" + rel="nofollow">Page source</a> + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/doc/html/objects.inv b/doc/html/objects.inv index 13f56018e2c04606c20f47d65356f4dab3b9d29e..0237ecd59ee07c2fe5b7847fa27accba2a234f88 100644 Binary files a/doc/html/objects.inv and b/doc/html/objects.inv differ diff --git a/doc/html/pipeline/index.html b/doc/html/pipeline/index.html deleted file mode 100644 index dfccc36b3444543b5aa4bd52f8dee90bd5b00075..0000000000000000000000000000000000000000 --- a/doc/html/pipeline/index.html +++ /dev/null @@ -1,113 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>pipeline - ProMod3 Modelling Pipeline — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> - <link rel="up" title="Documentation For Developers" href="../developers.html" /> - <link rel="next" title="run_engine - Build Models From Various Starting Points" href="run_engine.html" /> - <link rel="prev" title="helper - Shared Functionality For the Everything" href="../core/helper.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <div class="section" id="module-promod3.pipeline"> -<span id="pipeline-promod3-modelling-pipeline"></span><h1><a class="reference internal" href="#module-promod3.pipeline" title="promod3.pipeline: Everything needed for building actual models."><code class="xref py py-mod docutils literal"><span class="pre">pipeline</span></code></a> - ProMod3 Modelling Pipeline<a class="headerlink" href="#module-promod3.pipeline" title="Permalink to this headline">¶</a></h1> -<p>This module gathers the different aspects of creating coordinates for a -homology model. The intention is to provide easy access to the modelling engine -for external applications.</p> -<div class="toctree-wrapper compound"> -<ul> -<li class="toctree-l1"><a class="reference internal" href="run_engine.html"><code class="docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points</a><ul> -<li class="toctree-l2"><a class="reference internal" href="run_engine.html#introduction">Introduction</a></li> -</ul> -</li> -</ul> -</div> -</div> - - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"><div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../index.html">Documentation overview</a><ul> - <li><a href="../developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="../core/helper.html" title="previous chapter"><code class="docutils literal"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li> - <li>Next: <a href="run_engine.html" title="next chapter"><code class="docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points</a></li> - </ul></li> - </ul></li> -</ul> -</div> - <div role="note" aria-label="source link"> - <h3>This Page</h3> - <ul class="this-page-menu"> - <li><a href="../_sources/pipeline/index.txt" - rel="nofollow">Show Source</a></li> - </ul> - </div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - | - <a href="../_sources/pipeline/index.txt" - rel="nofollow">Page source</a> - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/pipeline/run_engine.html b/doc/html/pipeline/run_engine.html deleted file mode 100644 index 6832504808aa8f058fe01f9cae66a0e431fce3c5..0000000000000000000000000000000000000000 --- a/doc/html/pipeline/run_engine.html +++ /dev/null @@ -1,160 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>run_engine - Build Models From Various Starting Points — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> - <link rel="up" title="pipeline - ProMod3 Modelling Pipeline" href="index.html" /> - <link rel="next" title="rawmodel - Coordinate Modelling" href="../rawmodel/index.html" /> - <link rel="prev" title="pipeline - ProMod3 Modelling Pipeline" href="index.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <div class="section" id="run-engine-build-models-from-various-starting-points"> -<h1><code class="xref py py-mod docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points<a class="headerlink" href="#run-engine-build-models-from-various-starting-points" title="Permalink to this headline">¶</a></h1> -<div class="section" id="introduction"> -<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2> -<p>This is a collection of functions to just build models. All steps needed to go from various starting points to a complete model are wrapped in single function calls. That way, if something changes in the default pipeline, e.g. on general improvements, there is no need to change code depending on ProMod3 to adapt.</p> -<ul class="simple"> -<li>also convenient for developing new stuff</li> -<li>e.g. you want to transform the template coordinates in some way, but then just -want to see them in a model, go by BuildFromRawModel</li> -<li>or if you have a fancy way of post-processing, sth like a new way of going -ligand, build a model easily here, then do whatever you want with the result</li> -<li>examples should come with the API</li> -</ul> -<dl class="function"> -<dt id="promod3.pipeline.run_engine.BuildFromRawModel"> -<code class="descclassname">promod3.pipeline.run_engine.</code><code class="descname">BuildFromRawModel</code><span class="sig-paren">(</span><em>raw_model</em>, <em>structure_db=None</em>, <em>fragment_db=None</em>, <em>torsion_sampler=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/pipeline/run_engine.html#BuildFromRawModel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.pipeline.run_engine.BuildFromRawModel" title="Permalink to this definition">¶</a></dt> -<dd><p>Build a model starting with a -<a class="reference internal" href="../rawmodel/index.html#promod3.rawmodel.RawModelingResult" title="promod3.rawmodel.RawModelingResult"><code class="xref py py-class docutils literal"><span class="pre">RawModel</span></code></a>.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> -<li><strong>raw_model</strong> (<a class="reference internal" href="../rawmodel/index.html#promod3.rawmodel.RawModelingResult" title="promod3.rawmodel.RawModelingResult"><code class="xref py py-class docutils literal"><span class="pre">RawModelingResult</span></code></a>) – The prepared template coordinates loaded with the input -alignment.</li> -<li><strong>structure_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><span class="pre">StructureDB</span></code></a>) – The structural database. Loads the default one shipped -with ProMod3 if omitted.</li> -<li><strong>fragment_db</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) – A fragment database coupled to the <em>structure_db</em>. -Loads the default one shipped with ProMod3 if omitted.</li> -<li><strong>torsion_sampler</strong> (<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. Loads the default one -shipped with ProMod3 if omitted.</li> -</ul> -</td> -</tr> -</tbody> -</table> -<p>EXAMPLE: obtain raw model, build model</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Delivers the model as an OST entity.</td> -</tr> -<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -</div> -</div> - - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"> - <h3><a href="../index.html">Table Of Contents</a></h3> - <ul> -<li><a class="reference internal" href="#"><code class="docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points</a><ul> -<li><a class="reference internal" href="#introduction">Introduction</a></li> -</ul> -</li> -</ul> -<div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../index.html">Documentation overview</a><ul> - <li><a href="../developers.html">Documentation For Developers</a><ul> - <li><a href="index.html"><code class="docutils literal"><span class="pre">pipeline</span></code> - ProMod3 Modelling Pipeline</a><ul> - <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal"><span class="pre">pipeline</span></code> - ProMod3 Modelling Pipeline</a></li> - <li>Next: <a href="../rawmodel/index.html" title="next chapter"><code class="docutils literal"><span class="pre">rawmodel</span></code> - Coordinate Modelling</a></li> - </ul></li> - </ul></li> - </ul></li> -</ul> -</div> - <div role="note" aria-label="source link"> - <h3>This Page</h3> - <ul class="this-page-menu"> - <li><a href="../_sources/pipeline/run_engine.txt" - rel="nofollow">Show Source</a></li> - </ul> - </div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - | - <a href="../_sources/pipeline/run_engine.txt" - rel="nofollow">Page source</a> - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/py-modindex.html b/doc/html/py-modindex.html index 4163ca3057d7065fafb2d639eab66cf374262977..7582a247e7a9000bf489dedf9f67f749a4ec6422 100644 --- a/doc/html/py-modindex.html +++ b/doc/html/py-modindex.html @@ -65,23 +65,23 @@ <tr class="cg-1"> <td></td> <td> - <a href="core/pm3argparse.html#module-promod3.core.pm3argparse"><code class="xref">promod3.core.pm3argparse</code></a></td><td> - <em></em></td></tr> + <a href="core/helper.html#module-promod3.core.helper"><code class="xref">promod3.core.helper</code></a></td><td> + <em>Helper functions</em></td></tr> <tr class="cg-1"> <td></td> <td> - <a href="loop/index.html#module-promod3.loop"><code class="xref">promod3.loop</code></a></td><td> - <em>Loop Modelling</em></td></tr> + <a href="core/pm3argparse.html#module-promod3.core.pm3argparse"><code class="xref">promod3.core.pm3argparse</code></a></td><td> + <em>Argument Parsing</em></td></tr> <tr class="cg-1"> <td></td> <td> - <a href="pipeline/index.html#module-promod3.pipeline"><code class="xref">promod3.pipeline</code></a></td><td> - <em>Everything needed for building actual models.</em></td></tr> + <a href="loop/index.html#module-promod3.loop"><code class="xref">promod3.loop</code></a></td><td> + <em>Loop Modelling</em></td></tr> <tr class="cg-1"> <td></td> <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> + <a href="modelling/index.html#module-promod3.modelling"><code class="xref">promod3.modelling</code></a></td><td> + <em>Protein Modelling</em></td></tr> <tr class="cg-1"> <td></td> <td> @@ -94,7 +94,7 @@ <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> + <em>Testing Actions</em></td></tr> </table> diff --git a/doc/html/rawmodel/index.html b/doc/html/rawmodel/index.html deleted file mode 100644 index 6c44ec9579499233dc5fdf8d22102ad680db3f36..0000000000000000000000000000000000000000 --- a/doc/html/rawmodel/index.html +++ /dev/null @@ -1,284 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>rawmodel - Coordinate Modelling — ProMod3 0 documentation</title> - - <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../', - VERSION: '0', - COLLAPSE_INDEX: false, - FILE_SUFFIX: '.html', - HAS_SOURCE: true - }; - </script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> - <link rel="up" title="Documentation For Developers" href="../developers.html" /> - <link rel="next" title="loop - Loop Modelling" href="../loop/index.html" /> - <link rel="prev" title="run_engine - Build Models From Various Starting Points" href="../pipeline/run_engine.html" /> - - - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> - - </head> - <body role="document"> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body" role="main"> - - <div class="section" id="module-promod3.rawmodel"> -<span id="rawmodel-coordinate-modelling"></span><h1><a class="reference internal" href="#module-promod3.rawmodel" title="promod3.rawmodel: Raw Coordinate Model"><code class="xref py py-mod docutils literal"><span class="pre">rawmodel</span></code></a> - Coordinate Modelling<a class="headerlink" href="#module-promod3.rawmodel" title="Permalink to this headline">¶</a></h1> -<p>Functionality to build raw (pseudo) models based on a sequence alignment. -Here is an example of how to build a model from an alignment and a structure.</p> -<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">io</span> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">rawmodel</span> - -<span class="n">aln</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'seq.fasta'</span><span class="p">)</span> -<span class="n">template_structure</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'gly.pdb'</span><span class="p">,</span> <span class="n">restrict_chains</span><span class="o">=</span><span class="s">'A'</span><span class="p">)</span> -<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">template_structure</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">'peptide=true'</span><span class="p">))</span> -<span class="n">result</span> <span class="o">=</span> <span class="n">rawmodel</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> -<span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="s">'model.pdb'</span><span class="p">)</span> -</pre></div> -</div> -<div class="section" id="raw-coordinate-modelling-api"> -<h2>Raw Coordinate Modelling API<a class="headerlink" href="#raw-coordinate-modelling-api" title="Permalink to this headline">¶</a></h2> -<dl class="function"> -<dt id="promod3.rawmodel.BuildRawModel"> -<code class="descclassname">promod3.rawmodel.</code><code class="descname">BuildRawModel</code><span class="sig-paren">(</span><em>alignment</em>, <em>calpha_only=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.rawmodel.BuildRawModel" title="Permalink to this definition">¶</a></dt> -<dt> -<code class="descclassname">promod3.rawmodel.</code><code class="descname">BuildRawModel</code><span class="sig-paren">(</span><em>alignments</em>, <em>calpha_only=False</em><span class="sig-paren">)</span></dt> -<dd><p>Builds a raw (pseudo) model from the alignment. Can either take a single -alignment handle or an alignment handle list. Every list item is treated as a -single chain in the final raw model.</p> -<p>This is a basic protein core modelling algorithm that copies backbone -coordinates based on the sequence alignment. For matching residues, the -side chain coordinates are also copied. Gaps are ignored. Hydrogen an -deuterium atoms are not copied into the model.</p> -<p>The function tries to reuse as much as possible from the template. Modified -residues are treated as follows:</p> -<blockquote> -<div><ul class="simple"> -<li>Selenium methionine residues are converted to methionine</li> -<li>Side chains which contain all atoms of the parent amino acid, e.g. -phosphoserine are copied as a whole with the modifications stripped off.</li> -</ul> -</div></blockquote> -<p>Residue numbers are set such that missing residue in gaps are honoured and -subsequent loop modelling can insert new residues without having to -renumber.</p> -<p>The returned <a class="reference internal" href="#promod3.rawmodel.RawModelingResult" title="promod3.rawmodel.RawModelingResult"><code class="xref py py-class docutils literal"><span class="pre">RawModelingResult</span></code></a> stores the obtained raw model as well -as information about insertions and deletions in the gaps list.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>calpha_only</strong> – If true, only Calpha atoms will be copied. Side chains -and other backbone atoms are completely ignored.</td> -</tr> -<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body">A <code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code> when the second sequence does not have an -attached structure</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="class"> -<dt id="promod3.rawmodel.RawModelingResult"> -<em class="property">class </em><code class="descclassname">promod3.rawmodel.</code><code class="descname">RawModelingResult</code><a class="headerlink" href="#promod3.rawmodel.RawModelingResult" title="Permalink to this definition">¶</a></dt> -<dd><p>Holds the result of raw model building. Incredibly minimalistic for now. Will -most likely grow a few more members over time to, e.g. to store a detailed -report.</p> -<dl class="attribute"> -<dt id="promod3.rawmodel.RawModelingResult.model"> -<code class="descname">model</code><a class="headerlink" href="#promod3.rawmodel.RawModelingResult.model" title="Permalink to this definition">¶</a></dt> -<dd><p>The resulting model.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="attribute"> -<dt id="promod3.rawmodel.RawModelingResult.gaps"> -<code class="descname">gaps</code><a class="headerlink" href="#promod3.rawmodel.RawModelingResult.gaps" title="Permalink to this definition">¶</a></dt> -<dd><p>List of gaps in the model that could not be copied from the template. These -gaps may be the result of insertions/deletions in the alignment or due to -missing or incomplete backbone coordinates in the template structure.</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">StructuralGapList</span></code></td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.rawmodel.RawModelingResult.CloseSmallDeletions"> -<code class="descname">CloseSmallDeletions</code><span class="sig-paren">(</span><em>scorer</em>, <em>extension_steps=9</em>, <em>clash_thresh=1.0</em>, <em>e_thresh=200</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.rawmodel.RawModelingResult.CloseSmallDeletions" title="Permalink to this definition">¶</a></dt> -<dd><p>Close small deletions by relaxing neighbouring residues.</p> -<p>Small deletions in the template from the target-template alignment have a -good chance to be bridged just by relaxing neighbours around a tiny gap. -Before diving into the more demanding tasks in modeling, those may be closed -already in the raw-model. After closure some checks are done to see if the -solution is stereochemically sensible.</p> -<p>Closed gaps are removed from <code class="xref py py-attr docutils literal"><span class="pre">self.gaps</span></code>.</p> -<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ost</span> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">rawmodel</span> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span> - -<span class="n">tpl</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'gly.pdb'</span><span class="p">)</span> -<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'seq.fasta'</span><span class="p">)</span> -<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> -<span class="n">rmodel</span> <span class="o">=</span> <span class="n">rawmodel</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> -<span class="n">scorer</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">SetupBackboneScorer</span><span class="p">(</span><span class="n">rmodel</span><span class="p">)</span> -<span class="n">rmodel</span><span class="o">.</span><span class="n">CloseSmallDeletions</span><span class="p">(</span><span class="n">scorer</span><span class="p">)</span> -</pre></div> -</div> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>scorer</strong> (<a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a>) – A scorer dedicated to this raw model.</li> -<li><strong>extension_steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Iterations allowed for gap extension. This does not -directly mean ‘extended size of gap’ but no. of -attempts to extend. Extension works like trying to -increase left, then right, then try more on the -left side again...</li> -<li><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Threshold for the clash score, acceptance means being -lower than this.</li> -<li><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Potential energy should be lower than this.</li> -</ul> -</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">If gaps are deleted, the scorer needs to be updated and is -returned.</p> -</td> -</tr> -<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="../loop/backbone_loop_score.html#promod3.loop.BackboneLoopScorer" title="promod3.loop.BackboneLoopScorer"><code class="xref py py-class docutils literal"><span class="pre">BackboneLoopScorer</span></code></a></p> -</td> -</tr> -</tbody> -</table> -</dd></dl> - -<dl class="method"> -<dt id="promod3.rawmodel.RawModelingResult.MergeGapsByDistance"> -<code class="descname">MergeGapsByDistance</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.rawmodel.RawModelingResult.MergeGapsByDistance" title="Permalink to this definition">¶</a></dt> -<dd><p>Merge 2 neighbouring gaps by deleting residues in-between.</p> -<p>Check if two neighbouring gaps are at max. <em>distance</em> residues apart from -each other. Then delete the residues and store a new gap spanning the whole -stretch of original gaps and the deleted region. Original gaps will be -removed. Stem residues count to the gap, so <strong>A-A-A</strong> has a distance of 0.</p> -<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ost</span> -<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">rawmodel</span> - -<span class="n">tpl</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'1mcg.pdb'</span><span class="p">)</span> -<span class="n">aln</span> <span class="o">=</span> <span class="n">ost</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">LoadAlignment</span><span class="p">(</span><span class="s">'1mcg_aln.fasta'</span><span class="p">)</span> -<span class="n">aln</span><span class="o">.</span><span class="n">AttachView</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">tpl</span><span class="o">.</span><span class="n">CreateFullView</span><span class="p">())</span> -<span class="n">rmodel</span> <span class="o">=</span> <span class="n">rawmodel</span><span class="o">.</span><span class="n">BuildRawModel</span><span class="p">(</span><span class="n">aln</span><span class="p">)</span> -<span class="n">rmodel</span><span class="o">.</span><span class="n">MergeGapsByDistance</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> -</pre></div> -</div> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>distance</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – The max. no. of residues between two gaps up to which -merge happens.</td> -</tr> -<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Nothing.</td> -</tr> -</tbody> -</table> -</dd></dl> - -</dd></dl> - -</div> -</div> - - - </div> - </div> - </div> - <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> - <div class="sphinxsidebarwrapper"> - <h3><a href="../index.html">Table Of Contents</a></h3> - <ul> -<li><a class="reference internal" href="#"><code class="docutils literal"><span class="pre">rawmodel</span></code> - Coordinate Modelling</a><ul> -<li><a class="reference internal" href="#raw-coordinate-modelling-api">Raw Coordinate Modelling API</a></li> -</ul> -</li> -</ul> -<div class="relations"> -<h3>Related Topics</h3> -<ul> - <li><a href="../index.html">Documentation overview</a><ul> - <li><a href="../developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="../pipeline/run_engine.html" title="previous chapter"><code class="docutils literal"><span class="pre">run_engine</span></code> - Build Models From Various Starting Points</a></li> - <li>Next: <a href="../loop/index.html" title="next chapter"><code class="docutils literal"><span class="pre">loop</span></code> - Loop Modelling</a></li> - </ul></li> - </ul></li> -</ul> -</div> - <div role="note" aria-label="source link"> - <h3>This Page</h3> - <ul class="this-page-menu"> - <li><a href="../_sources/rawmodel/index.txt" - rel="nofollow">Show Source</a></li> - </ul> - </div> -<div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> - <form class="search" action="../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="footer"> - ©2015, Bienchen. - - | - Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.1</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a> - - | - <a href="../_sources/rawmodel/index.txt" - rel="nofollow">Page source</a> - </div> - - - - - </body> -</html> \ No newline at end of file diff --git a/doc/html/searchindex.js b/doc/html/searchindex.js index 30aef90488beda46f4f925544cbc493be722e4c3..31365f72b3f46675135ef420d0782ece5069a0a4 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/helper","core/index","core/pm3argparse","core/setcompoundschemlib","developers","gettingstarted","index","loop/backbone","loop/backbone_loop_score","loop/index","loop/load_loop_objects","loop/loop_candidate","loop/loop_closing","loop/monte_carlo","loop/structure_db","loop/torsion_sampler","pipeline/index","pipeline/run_engine","rawmodel/index","sidechain/disulfid","sidechain/frame","sidechain/graph","sidechain/index","sidechain/rotamer","sidechain/rotamer_id","sidechain/rotamer_lib","sidechain/sidechain_settings","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":{pm3argparse:[7,1,0,"-"]},"promod3.core.helper":{FileExists:[5,6,1,""],FileExtension:[5,6,1,""],FileGzip:[5,6,1,""],MsgErrorAndExit:[5,6,1,""]},"promod3.core.pm3argparse":{PM3ArgumentParser:[7,2,1,""]},"promod3.core.pm3argparse.PM3ArgumentParser":{"__init__":[7,3,1,""],AddAlignment:[7,3,1,""],AssembleParser:[7,3,1,""],Parse:[7,3,1,""],action:[7,4,1,""]},"promod3.loop":{Backbone:[12,2,1,""],BackboneList:[12,2,1,""],BackboneLoopScorer:[13,2,1,""],BackboneRelaxer:[17,2,1,""],CCD:[17,2,1,""],CCDCloser:[18,2,1,""],CTerminalCloser:[18,2,1,""],CoordInfo:[19,2,1,""],DirtyCCDCloser:[18,2,1,""],ExponentialCooler:[18,2,1,""],FragDB:[19,2,1,""],Fragger:[19,2,1,""],FragmentInfo:[19,2,1,""],FragmentSampler:[18,2,1,""],KIC:[17,2,1,""],KICCloser:[18,2,1,""],LinearScorer:[18,2,1,""],LoadBackboneLoopScorer:[15,3,1,""],LoadFragDB:[15,3,1,""],LoadStructureDB:[15,3,1,""],LoadTorsionSampler:[15,3,1,""],LoadTorsionSamplerCoil:[15,3,1,""],LoadTorsionSamplerExtended:[15,3,1,""],LoadTorsionSamplerHelical:[15,3,1,""],LoopCandidate:[16,2,1,""],LoopCandidates:[16,2,1,""],MonteCarloSampler:[18,3,1,""],NTerminalCloser:[18,2,1,""],PhiPsiSampler:[18,2,1,""],SetupBackboneScorer:[13,6,1,""],SoftSampler:[18,2,1,""],StructureDB:[19,2,1,""],TorsionSampler:[20,2,1,""]},"promod3.loop.Backbone":{ApplyTransform:[12,3,1,""],Backbone:[12,3,1,""],GetTransform:[12,3,1,""],aa:[12,4,1,""],c_coord:[12,4,1,""],ca_coord:[12,4,1,""],cb_coord:[12,4,1,""],n_coord:[12,4,1,""],o_coord:[12,4,1,""],one_letter_code:[12,4,1,""]},"promod3.loop.BackboneList":{ApplyTransform:[12,3,1,""],BackboneList:[12,3,1,""],CARMSD:[12,3,1,""],GetOmegaTorsion:[12,3,1,""],GetPhiTorsion:[12,3,1,""],GetPsiTorsion:[12,3,1,""],GetSequence:[12,3,1,""],InsertInto:[12,3,1,""],RMSD:[12,3,1,""],ReconstructCBetaPositions:[12,3,1,""],ReconstructOxygenPositions:[12,3,1,""],ReplaceFragment:[12,3,1,""],RotateAroundOmegaTorsion:[12,3,1,""],RotateAroundPhiPsiTorsion:[12,3,1,""],RotateAroundPhiTorsion:[12,3,1,""],RotateAroundPsiTorsion:[12,3,1,""],SetOmegaTorsion:[12,3,1,""],SetPhiPsiTorsion:[12,3,1,""],SetPhiTorsion:[12,3,1,""],SetPsiTorsion:[12,3,1,""],SuperposeOnto:[12,3,1,""],ToEntity:[12,3,1,""],append:[12,3,1,""]},"promod3.loop.BackboneLoopScorer":{CalculateCBPackingScore:[13,3,1,""],CalculateCBetaScore:[13,3,1,""],CalculateClashScore:[13,3,1,""],CalculateDSSPHBondScore:[13,3,1,""],CalculateHBondScore:[13,3,1,""],CalculateTorsionScore:[13,3,1,""],Initialize:[13,3,1,""],Load:[13,3,1,""],Save:[13,3,1,""],SetCBPackingEnergy:[13,3,1,""],SetCBPackingPotentialParameters:[13,3,1,""],SetCBetaEnergy:[13,3,1,""],SetCBetaPotentialParameters:[13,3,1,""],SetEnvironment:[13,3,1,""],SetHBondEnergy:[13,3,1,""],SetHBondPotentialParameters:[13,3,1,""],SetTorsionEnergy:[13,3,1,""],SetTorsionPotentialParameters:[13,3,1,""],TransOmegaTorsions:[13,3,1,""]},"promod3.loop.BackboneRelaxer":{Run:[17,3,1,""]},"promod3.loop.CCD":{CCD:[17,3,1,""],Close:[17,3,1,""]},"promod3.loop.CCDCloser":{Close:[18,3,1,""]},"promod3.loop.CoordInfo":{offset:[19,4,1,""],pdb_id:[19,4,1,""],size:[19,4,1,""]},"promod3.loop.DirtyCCDCloser":{Close:[18,3,1,""]},"promod3.loop.ExponentialCooler":{GetTemperature:[18,3,1,""],Reset:[18,3,1,""]},"promod3.loop.FragDB":{AddFragments:[19,3,1,""],GetAngularBinSize:[19,3,1,""],GetDistBinSize:[19,3,1,""],GetNumFragments:[19,3,1,""],GetNumStemPairs:[19,3,1,""],Load:[19,3,1,""],PrintStatistics:[19,3,1,""],Save:[19,3,1,""],SearchDB:[19,3,1,""]},"promod3.loop.Fragger":{"__getitem__":[19,3,1,""],"__len__":[19,3,1,""],AddSSAgreeParameters:[19,3,1,""],AddSeqIDParameters:[19,3,1,""],AddSeqSimParameters:[19,3,1,""],AddSequenceProfileParameters:[19,3,1,""],AddStructureProfileParameters:[19,3,1,""],Fill:[19,3,1,""],Fragger:[19,3,1,""],GetFragmentInfo:[19,3,1,""],GetScore:[19,3,1,""]},"promod3.loop.FragmentInfo":{chain_index:[19,4,1,""],length:[19,4,1,""],offset:[19,4,1,""]},"promod3.loop.FragmentSampler":{Initialize:[18,3,1,""],ProposeStep:[18,3,1,""]},"promod3.loop.KIC":{Close:[17,3,1,""],KIC:[17,3,1,""]},"promod3.loop.KICCloser":{Close:[18,3,1,""]},"promod3.loop.LinearScorer":{GetScore:[18,3,1,""]},"promod3.loop.LoopCandidate":{CARMSD:[16,3,1,""],GetoriginalDSSPState:[16,3,1,""],GetoriginalSequence:[16,3,1,""],RMSD:[16,3,1,""],bb_list:[16,4,1,""],cbeta_score:[16,4,1,""],clash_score:[16,4,1,""],dssp_hbond_score:[16,4,1,""],hbond_score:[16,4,1,""],packing_score:[16,4,1,""],stem_rmsd:[16,4,1,""],torsion_score:[16,4,1,""]},"promod3.loop.LoopCandidates":{Add:[16,3,1,""],ApplyCCD:[16,3,1,""],ApplyKIC:[16,3,1,""],AttachScorer:[16,3,1,""],CalculateBetaScores:[16,3,1,""],CalculateClasScores:[16,3,1,""],CalculateDSSPHBondScores:[16,3,1,""],CalculateHBondcores:[16,3,1,""],CalculatePackingScores:[16,3,1,""],CalculateStemRMSD:[16,3,1,""],CalculateTorsionScores:[16,3,1,""],ClusterCandidates:[16,3,1,""],FillFromDatabase:[16,3,1,""],FillFromMonteCarloSampler:[16,3,1,""],GetAVGCBetaScore:[16,3,1,""],GetAVGClasScore:[16,3,1,""],GetAVGDSSPHBondScore:[16,3,1,""],GetAVGHBondcore:[16,3,1,""],GetAVGPackingScore:[16,3,1,""],GetAVGStemRMSD:[16,3,1,""],GetAVGTorsionScore:[16,3,1,""],GetCStem:[16,3,1,""],GetNStem:[16,3,1,""],InsertInto:[16,3,1,""],Remove:[16,3,1,""],ToEntity:[16,3,1,""]},"promod3.loop.PhiPsiSampler":{Initialize:[18,3,1,""],ProposeStep:[18,3,1,""]},"promod3.loop.SoftSampler":{Initialize:[18,3,1,""],ProposeStep:[18,3,1,""]},"promod3.loop.StructureDB":{AddCoordinates:[19,3,1,""],GenerateStructureProfile:[19,3,1,""],GetBackboneList:[19,3,1,""],GetCoordIndex:[19,3,1,""],GetCoordInfo:[19,3,1,""],GetDSSPStates:[19,3,1,""],GetDihedralAngles:[19,3,1,""],GetNumCoords:[19,3,1,""],GetResidueDepths:[19,3,1,""],GetSequence:[19,3,1,""],GetSequenceProfile:[19,3,1,""],GetSolventAccessibilitites:[19,3,1,""],GetStructureProfile:[19,3,1,""],Load:[19,3,1,""],PrintStatistics:[19,3,1,""],Save:[19,3,1,""],SetStructureProfile:[19,3,1,""]},"promod3.loop.TorsionSampler":{Draw:[20,3,1,""],DrawPhiGivenPsi:[20,3,1,""],DrawPsiGivenPhi:[20,3,1,""],ExtractStatistics:[20,3,1,""],GetBinSize:[20,3,1,""],GetBinsPerDimension:[20,3,1,""],GetHistogramIndex:[20,3,1,""],GetHistogramIndices:[20,3,1,""],GetPhiProbabilityGivenPsi:[20,3,1,""],GetProbability:[20,3,1,""],GetPsiProbabilityGivenPhi:[20,3,1,""],Load:[20,3,1,""],Save:[20,3,1,""],UpdateDistributions:[20,3,1,""]},"promod3.pipeline.run_engine":{BuildFromRawModel:[22,6,1,""]},"promod3.rawmodel":{BuildRawModel:[23,6,1,""],RawModelingResult:[23,2,1,""]},"promod3.rawmodel.RawModelingResult":{CloseSmallDeletions:[23,3,1,""],MergeGapsByDistance:[23,3,1,""],gaps:[23,4,1,""],model:[23,4,1,""]},"promod3.sidechain":{AAToRotID:[29,3,1,""],BBDepRotamerLib:[30,2,1,""],ConstructBackboneFrameResidue:[25,3,1,""],ConstructFRMRotamer:[28,3,1,""],ConstructFRMRotamerGroup:[28,3,1,""],ConstructFrameResidue:[25,3,1,""],ConstructRRMRotamer:[28,3,1,""],ConstructRRMRotamerGroup:[28,3,1,""],ConstructSidechainFrameResidue:[25,3,1,""],DisulfidScore:[24,3,1,""],FRMRotamer:[28,2,1,""],FRMRotamerGroup:[28,2,1,""],Frame:[25,2,1,""],FrameResidue:[25,2,1,""],Graph:[26,2,1,""],Particle:[28,2,1,""],RRMRotamer:[28,2,1,""],RRMRotamerGroup:[28,2,1,""],RotamerID:[29,2,1,""],RotamerLib:[30,2,1,""],RotamerLibEntry:[30,2,1,""],RotamerSettings:[31,2,1,""],SidechainParticle:[28,2,1,""],TLCToRotID:[29,3,1,""]},"promod3.sidechain.BBDepRotamerLib":{AddRotamer:[30,3,1,""],Load:[30,3,1,""],MakeStatic:[30,3,1,""],QueryLib:[30,3,1,""],Save:[30,3,1,""],SetInterpolate:[30,3,1,""]},"promod3.sidechain.FRMRotamer":{"__getitem__":[28,3,1,""],"__len__":[28,3,1,""],ApplyOnResidue:[28,3,1,""],CalculateInternalEnergy:[28,3,1,""],GetFrameEnergy:[28,3,1,""],GetInternalEnergy:[28,3,1,""],GetInternalEnergyPrefactor:[28,3,1,""],GetNumSubrotamers:[28,3,1,""],GetProbability:[28,3,1,""],GetSelfEnergy:[28,3,1,""],GetSubrotamerAssociations:[28,3,1,""],GetSubrotamerDefinition:[28,3,1,""],GetTemperature:[28,3,1,""],GetTransformedCopy:[28,3,1,""],SetFrameEnergy:[28,3,1,""],SetInternalEnergy:[28,3,1,""],SetInternalEnergyPrefactor:[28,3,1,""],SetProbability:[28,3,1,""],SetTemperature:[28,3,1,""]},"promod3.sidechain.FRMRotamerGroup":{"__getitem__":[28,3,1,""],"__len__":[28,3,1,""],ApplyOneResidue:[28,3,1,""],ApplySelfEnergyThres:[28,3,1,""],CalculateInternalEnergies:[28,3,1,""],Merge:[28,3,1,""]},"promod3.sidechain.Frame":{AddFrameEnergy:[25,3,1,""],SetFrameEnergy:[25,3,1,""]},"promod3.sidechain.FrameResidue":{"__getitem__":[25,3,1,""],"__len__":[25,3,1,""]},"promod3.sidechain.Graph":{CreateFromFRMList:[26,5,1,""],CreateFromRRMList:[26,5,1,""],GetNumActiveEdges:[26,3,1,""],GetNumActiveNodes:[26,3,1,""],GetNumEdges:[26,3,1,""],GetNumNodes:[26,3,1,""],Prune:[26,3,1,""],Solve:[26,3,1,""]},"promod3.sidechain.Particle":{AddLonePair:[28,3,1,""],GetCharge:[28,3,1,""],GetName:[28,3,1,""],GetParticleType:[28,3,1,""],GetPos:[28,3,1,""],IsHBondAcceptor:[28,3,1,""],IsHBondDonor:[28,3,1,""],PairwiseEnergy:[28,3,1,""],SetPolarDirection:[28,3,1,""]},"promod3.sidechain.RRMRotamer":{"__getitem__":[28,3,1,""],"__len__":[28,3,1,""],ApplyOnResidue:[28,3,1,""],CalculateInternalEnergy:[28,3,1,""],GetFrameEnergy:[28,3,1,""],GetInternalEnergy:[28,3,1,""],GetInternalEnergyPrefactor:[28,3,1,""],GetProbability:[28,3,1,""],GetSelfEnergy:[28,3,1,""],GetTransformedCopy:[28,3,1,""],SetFrameEnergy:[28,3,1,""],SetInternalEnergy:[28,3,1,""],SetInternalEnergyPrefactor:[28,3,1,""],SetProbability:[28,3,1,""]},"promod3.sidechain.RRMRotamerGroup":{"__getitem__":[28,3,1,""],"__len__":[28,3,1,""],ApplyOneResidue:[28,3,1,""],ApplySelfEnergyThres:[28,3,1,""],CalculateInternalEnergies:[28,3,1,""],Merge:[28,3,1,""]},"promod3.sidechain.RotamerLib":{AddRotamer:[30,3,1,""],Load:[30,3,1,""],MakeStatic:[30,3,1,""],QueryLib:[30,3,1,""],Save:[30,3,1,""]},"promod3.sidechain.RotamerLibEntry":{FromResidue:[30,5,1,""],IsSimilar:[30,3,1,""],SimilarDihedral:[30,3,1,""],chi1:[30,4,1,""],chi2:[30,4,1,""],chi3:[30,4,1,""],chi4:[30,4,1,""],probability:[30,4,1,""],sig1:[30,4,1,""],sig2:[30,4,1,""],sig3:[30,4,1,""],sig4:[30,4,1,""]},"promod3.sidechain.reconstruct_sidechains":{Reconstruct:[27,3,1,""]},"test_actions.ActionTestCase":{RunAction:[0,3,1,""],RunExitStatusTest:[0,3,1,""],pm_action:[0,4,1,""],pm_bin:[0,4,1,""],testPMExists:[0,3,1,""]},promod3:{SetCompoundsChemlib:[8,6,1,""],core:[6,1,0,"-"],loop:[14,1,0,"-"],pipeline:[21,1,0,"-"],rawmodel:[23,1,0,"-"],sidechain:[27,1,0,"-"]},test_actions:{ActionTestCase:[0,2,1,""]}},objnames:{"0":["cmake","command","CMake command"],"1":["py","module","Python module"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","staticmethod","Python static method"],"6":["py","function","Python function"]},objtypes:{"0":"cmake:command","1":"py:module","2":"py:class","3":"py:method","4":"py:attribute","5":"py:staticmethod","6":"py:function"},terms:{"1akea":19,"1crn":[14,18,19],"1crna":19,"1ey":27,"1mcg":23,"1mcg_aln":23,"2b1":1,"__doc__":[5,7],"__getitem__":[19,25,28],"__init__":[0,4,7],"__len__":[19,25,28],"__main__":[0,4],"__name__":[0,4],"_opt":4,"_run":[0,3],"_xml":3,"boolean":5,"break":[3,4],"case":[4,12,13,16,17,18,19,20,24,27,28,30],"char":12,"class":13,"default":[0,1,4,7,8,12,15,19,20,22,27,28,31],"enum":29,"export":[26,28],"final":[4,10,14,19,23,26,27],"float":[12,13,14,16,17,18,19,20,23,25,26,28,30],"function":[],"import":[0,4,5,7,10,12,14,18,19,20,23,27],"int":[0,5,12,13,15,16,17,18,19,20,23,25,26,28,30],"new":[0,4,7,15,16,17,18,19,22,23,27,28],"null":19,"public":4,"return":[0,5,7,8,12,13,15,16,17,18,19,20,22,23,24,25,26,28,29,30],"s\u00f6ding":19,"short":4,"static":[4,26,30],"super":27,"switch":4,"throw":[0,27],"true":[0,4,5,7,12,13,14,15,17,18,19,23,27,28,31],"try":[0,4,23,30],"while":[0,3,4],aa_aft:[],aa_befor:[],aa_with_rotam:27,aaaaaaaa:12,aatorotid:29,abil:4,abort:[4,17],about:[0,3,4,16,19,23],abov:[0,4,24,27,29,30],absolut:3,academ:4,accept:[16,17,18,23],acceptor:13,access:[14,18,19,20,21,28,29],accessibili:19,accord:[4,12,13,16,18,19,20,25,27,28,30],accuraci:17,achiev:4,acid:[13,15],acknowledg:4,across:[0,30],act:17,action_unit_test:0,actiontest:0,activ:[4,7,27],actual:[4,7,12,13,19,28,30],actual_posit:18,actual_step:18,adapt:[9,14,17,18,22],add:[0,3,4,7,10,15,16,19,20,25,27,28],add_argu:5,add_changelog_to_doc:4,add_custom_target:4,add_doc_depend:3,add_doc_sourc:[3,4],add_polar_hydrogen:27,add_subdirectori:4,addalign:7,addcoordin:19,addfrag:19,addframeenergi:25,addit:[3,4,5,12,18,19],addition:[0,3],additional_make_clean_fil:4,addlonepair:28,addrotam:30,addseqidparamet:19,addseqsimparamet:19,addsequenceprofileparamet:19,addssagreeparamet:19,addstructureprofileparamet:19,admir:4,adrian:[],advanc:[],advic:4,advis:4,affect:[4,12,29],after:[0,1,4,7,12,13,16,17,18,20,23,26,30],again:[1,4,23],ago:0,agreement:19,aicatytg:[],ala:[12,20,27,29],alanin:29,alg:19,algorithm:[4,14,16,17,18,23,27,29,31],alias:4,align:[7,10,19,22,23],alignmentlist:7,all:[0,1,3,4,7,10,12,13,16,17,18,19,20,22,23,24,25,26,27,28,30],alloc:19,allow:[4,5,12,13,14,18,19,20,23,25],allow_prepro_ci:13,almost:3,aln:23,aln_sourc:7,alon:5,along:[0,4,19],alot:4,alpha:[12,13,16,25,27,28],alpha_bin:13,alreadi:[0,3,4,12,13,15,19,23,25,26,30],also:[0,1,3,4,5,16,17,18,19,20,22,23,25,26,30,31],alter:18,altern:18,alwai:[0,4,18],ambig:30,ambigu:30,amino:[13,15],aminoacid:[12,13,29,30],amount:30,analysi:[17,19],analyt:[16,30],anchor:[16,28],ancient:8,angl:[9,12,13,14,16,17,18,19,20,22,25,27,28,30],angle_bin_s:19,angstrom:[17,19],ani:[0,3,4,8,10,12,13,18,19,20,25,27],anneal:[16,18],announc:[0,4],anoth:[12,17],anymor:26,anyth:[1,4,7,8],anywai:4,apart:[0,16,23],append:[12,20,27],appli:[4,5,8,12,17,18,26,27,28],applic:[0,17,21],applyccd:[14,16],applyk:16,applyoneresidu:28,applyonresidu:[27,28],applysc:[],applyselfenergythr:28,applyselfenergythresh:27,applytransform:12,approach:[1,4,19],appropri:20,approxim:[16,26,28],arbitrari:[7,19],arbitrarili:18,arg:[0,4,7,29],argcheck:2,arginin:29,argpars:7,argument:[],argumentpars:7,argv:7,around:[0,4,23],ask:4,asn:29,asp:[28,29,30],asparagin:29,aspart:[29,30],aspect:21,ass:18,assemblepars:7,assertequ:4,assess:13,assign:[13,16,18,19,31],assigndssp:19,associ:[16,25,28],assum:[0,4,19,26],atom:[12,13,16,17,19,23,24,25,28,30,31],atomhandl:28,atomseq:19,attach:[3,14,15,16,23],attachscor:[14,16],attachview:23,attempt:23,attent:[0,4],attr:[],attribut:[4,7,16,30],author:4,autom:3,automat:[0,4,5,19,30],automatis:4,avail:[0,1,4,8,13],availabl:18,averag:[16,19],avg:19,avoid:[4,5,8,17,18],awai:4,awar:4,awesom:[0,4],awesomeactiontest:4,axi:19,back:[0,4,18,26],backbon:[],backbone_list:16,backbonelist:[10,12,13,16,17,18,19],backbonerelax:17,backbonescor:16,background:1,bar:19,base:13,basi:[3,4,17,18,19,28],basic:[],bb_list:[10,12,13,16,17,18,19],bbdeprotamerlib:[27,28,30],bbdeprotamerlibrari:28,becaus:[4,13],becom:30,been:[4,13,15,17,19,26,30],befor:[0,3,4,7,12,17,18,19,20,23],begin:[0,4,12],behav:0,behaviour:[7,30],behind:4,bell:4,belong:[3,4,13,16,18,19,25,28],belov:19,below:[4,17,19,24,26],below_thre:19,besid:[1,3,7],best:3,beta:[12,13,16,25,28],beta_bin:13,better:18,between:[0,12,13,16,17,18,19,23,24,25,26,28,30,31],beyond:7,bienchen:4,bilinearli:30,bin:[0,4,10,13,19,20,30],bin_siz:[20,30],binari:[0,4],bind:19,bioinformat:19,biol:19,biopolym:19,bit:[0,1,4,16],bla:1,blank:4,blas_blas_librari:1,blosum62:19,bond:[],bool:[0,5,7,12,13,15,16,17,18,19,25,27,28,30],boost:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],boost_include_dir:4,boost_root:1,both:[27,28,30],bottom:27,bound:28,branch:3,branchnam:4,brew:3,bridg:23,briefli:4,bring:4,broken:0,bug:4,build:[],build_disulfid:27,builder:1,buildfromrawmodel:22,buildrawmodel:23,buildup:[27,31],built:[3,4,13,19,25,27,28],bunch:[0,4,7],bytecod:0,c_coord:12,c_po:25,c_stem:[12,14,16,17,18,19],c_stem_psi:18,c_ter:[17,25],c_terminu:19,ca_coord:12,ca_po:[25,28],ca_pos_on:24,ca_pos_two:24,ca_rmsd:19,cach:[1,4],calcul:[12,13,14,16,17,18,19,20,24,25,26,27,28],calculatebetascor:16,calculatecbetascor:[13,14],calculatecbpackingscor:13,calculateclashscor:[13,14],calculateclasscor:16,calculatedssphbondscor:[13,16],calculatehbondcor:16,calculatehbondscor:13,calculateinternalenergi:[27,28],calculatepackingscor:16,calculatestemrmsd:16,calculatesurfac:19,calculatetorsionscor:[13,16],call:[0,1,3,4,7,8,15,16,18,19,20,22,28,30],calpha:23,calpha_onli:23,calul:20,came:4,can:[13,23],candid:[],cannot:[4,18,19,29,30],canutescu2003:[17,24],canutescu:17,capabl:18,captur:0,carbon:[12,25,28],carbonyl:28,carlo:[],carmsd:[12,16,19],carri:[4,5],categori:3,caus:4,cb_coord:12,cb_pack:18,cb_packing_cutoff:13,cb_packing_max_count:13,cb_po:[25,28],cb_pos_on:24,cb_pos_two:24,cbeta:[12,13,14,18],cbeta_bin:13,cbeta_cutoff:13,cbeta_scor:[14,16],cbeta_seq_sep:13,ccd:[],ccdcloser:18,ccmake:[],central:[13,20],certain:[0,1,3,4,13,19,20],certainli:0,ch1particl:28,ch2particl:28,ch3particl:28,chain:[13,15],chain_id:19,chain_idx:19,chain_index:[13,16,18,19],chain_nam:19,chainview:19,chakravarti:19,chakravarty1999:19,chanc:[4,23,26],chang:[],change_frequ:18,chapter:4,charact:[7,19],charg:[4,28],charmm27:17,check:[0,1,4,5,7,13,18,23,30],checkout:4,chemic:8,chi1:[28,30],chi2:[28,30],chi3:[28,30],chi4:[28,30],chi:[28,30],child:7,childclass:0,chmod:4,clash:[13,14,16,17,18,23,24,27],clash_scor:[14,16],clash_thresh:23,clean:[1,4],clip:7,clone:4,close:[],closed_posit:18,closer:[],closerobject:[],closesmalldelet:23,closest:19,closur:[17,23],cluster:16,clustercandid:16,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],cname:19,coars:4,code:[0,1,3,4,5,7,8,12,13,16,19,20,22,27,29],codetest:[3,4],coil:15,collect:[5,22],collid:31,collis:31,column:[],combin:[13,18,19,20,24,30],come:[3,22],command:[],commandlin:7,comment:4,commerci:4,commit:4,common:[4,7],commonli:10,compar:[19,30],comparison:[19,30],compat:4,compil:[0,1,4,10],complain:0,complaint:4,complet:[4,18,19,22,23,30],complex:[4,28],compon:[4,8,19],compound:8,compress:5,comput:19,concept:4,condit:[4,20],conf:[1,4],confid:19,config:4,configur:[1,4,16,30],conflict:4,conform:[13,16,17,18,19,26,27,30],connect:[3,4,14,19,26],conop:[4,12,13,29],conquer:4,consecut:[13,20],consequ:27,consid:[3,4,12,13,14,17,18,19,20,25,30],consider_all_nod:26,consider_hbond:[27,31],consider_hydrogen:28,consist:[4,13,17,18,19,28,30],constraint:[7,17,19],construct:[],constructbackboneframeresidu:[25,27],constructframeresidu:25,constructfrmrotam:28,constructfrmrotamergroup:[27,28],constructor:[26,28],constructrrmrotam:28,constructrrmrotamergroup:28,constructsidechainframeresidu:25,contain:[0,1,3,4,5,7,12,13,15,16,18,19,20,23,24,27,28,30],content:[4,9,11,14,19,27],continu:[0,17,27],contrast:25,contribut:3,control:[4,16,18,25,27,28,30,31],conveni:22,convent:[0,29],converg:[16,17,18],convert:[12,23],cooler:[],coolerobject:[],cooling_factor:18,coord_info:19,coordin:[15,21,22],coordinfo:19,cope:4,copi:[3,4,23],core:[],correspond:[4,12,16,19,20,30],corrupt:13,could:[0,3,4,7,19,23],count:[13,18,23],counterpart:13,coupl:[0,4,22],cours:4,coutsia:17,cover:[0,4,6,13,18,19],cparticl:28,cpr:[29,30],crambin:[14,18,19],crash:27,createentityfromview:27,createfromfrmlist:[26,27],createfromrrmlist:26,createfullview:23,creation:17,criterion:18,criterium:16,croak:4,crucial:4,ctermin:12,cterminalclos:18,cterminu:12,current:[1,4,12,18,19,28],custom:[4,18,19,29],cutoff:[15,16,28],cxx:4,cyclic:[14,16,17],cyd:[29,30],cyh:[29,30],cystein:[24,27,29],d_bin:13,dai:5,dare:3,dat:19,data1:3,data2:3,data:[0,3,4,9,13,14,15,19,27,28],databas:15,databs:19,date:4,dbg:4,deactiv:31,dead:26,debug:4,decent:8,decid:[4,17],decis:20,declar:[3,4],decod:7,decompos:26,decomposit:26,decreas:18,dedic:[3,4,13,23],def:[0,4],default_db:19,defin:[3,13,15],definit:[4,13,19,20,28,29],degre:[12,19,20],dele:[],delet:[23,28],deliv:[0,18,19,22],delta:31,delta_scor:18,demand:23,demonstr:19,denovo:[9,14],dep:3,dependency1:3,dependency2:3,depth:19,deriv:[0,19],descent:[14,16,17],describ:[3,5,7,13,17,19,27,30],describint:19,descript:[4,7,19,24,30],design:0,desir:[10,18],detail:[4,23],detect:[5,19,31],determin:[5,16],deuterium:23,develop:[],deviat:[13,18,28,30],devot:6,dict:18,dictionari:[7,8,19],did:[4,16],differ:[0,1,3,4,7,8,13,14,16,19,21,27,29,30,31],dihedr:[9,10,12,13,14,16,17,18,19,20,28,30],dihedral_angl:12,dihedral_idx:30,dihedral_pair:20,dimens:20,dir:4,direct:[4,12,15,28],directli:[14,17,19,23,27,28,29,30],directori:3,dirti:0,dirtyccdclos:18,disabl:[0,4],disable_disable_doctest:4,disable_disable_linkcheck:4,disable_doctest:[1,4],disable_document:[1,4],disable_linkcheck:[1,4],discret:13,discuss:19,disk:[13,14,30],displai:5,dist_bin_s:19,distanc:[13,14,19,23,31],distinguish:25,distribut:[0,4,18,20],disulfid:[],disulfidscor:24,dito:[],dive:[4,23],diverg:4,divers:19,dng:10,doawesomeactiontest:0,doc:[1,3,4],doctest:[1,4],document:2,doe:[0,3,4,5,7,8,12,19,23,26],doesn:[13,18,30],don:[1,4,14],done:[0,4,5,7,13,14,17,20,23],donor:13,dont_write_bytecod:[0,4],doptim:4,dost_root:[1,4],doubl:26,doubt:7,down:[7,12,14,18,19],download:[],dqmean_root:4,draw:[12,18,20],drawback:4,drawn:[18,20],drawphigivenpsi:20,drawpsigivenphi:20,driven:4,drop:4,dssp:[13,16,19],dssp_hbond:18,dssp_hbond_scor:16,due:[16,17,19,23,24,25],dump:[9,13,14,30],dunbrack:[17,27],dure:[0,16,17,25,30],dynam:30,e_thresh:23,each:[4,14,16,23],earlier:1,easi:[4,21],easier:[0,4],easili:[3,4,22],ebb_list:19,echo:4,edg:26,editor:0,educ:4,effect:[3,4],effici:[18,19],egg:19,eigen3:4,eigen3_found:4,eigen3_include_dir:[1,4],eigen:[1,4],eigenvalu:4,eigenvector:4,either:[4,7,12,13,17,18,20,23,24,25,27,28,29,30],elabor:4,element:[0,12,13,16],elimin:26,els:4,emerg:0,emploi:4,empti:[4,5,7,12,13,28],enabl:[0,5,8,28],enable_mm:1,encorc:13,end:[0,1,3,4,5,12,16,19,26],endif:4,energi:[10,13,16,17,18,23,24,25,26,27,28,31],enforc:[14,18,19,26],engin:21,enough:[4,19],ensur:10,enter:25,entiti:[4,12,16,22,27],entityhandl:[12,16,23,27],entityview:[13,20],entri:13,enumer:[4,14,19,26,27,28,29],env:[4,10,13],environ:[0,4,9,13,14,16,18],epsilon:26,equal:[13,18],equidist:30,error:5,essenti:4,estim:18,etc:[0,4],evalu:[3,13],even:[1,4,26],eventu:7,ever:4,everi:[0,4,12,13,15,16,17,18,19,20,23,26,30],everybodi:4,everyth:[],evolut:19,exactli:[1,14,18,19,24,29],exampl:[0,1,4,7,10,14,18,19,20,22,23,27,29],example_reconstruct:27,exce:[13,19],except:4,exclud:4,exclus:[0,4],exec_program:4,executable_output_path:4,exist:[0,1,3,4,5,7,13,19,25,28,29,30],exit:[0,5,7],exit_cod:0,exit_statu:5,exot:4,exp:18,expand:4,expect:[0,13,19,28],expens:19,explain:4,explan:4,exponenti:18,exponentialcool:18,exposur:16,ext:5,extend:[0,3,4,13,15,16,19,23],extended_search:[16,19],extens:[5,7,23],extension_step:23,extent:19,extern:[3,4,19,21],extra:4,extract:[4,12,13,17,18,19,20,25,27,28],extract_burial_statu:19,extractstatist:20,f_i:19,factor:[18,28,31],fail:[0,4,5],failur:[4,5,30],fall:[17,26],fallback:30,fals:[0,4,5,7,12,15,16,18,19,23,25,26,27,28],fanci:22,fast:[19,30],fasta:[7,23],faster:[15,17,19],fatal_error:4,favourit:0,featur:[],fed:[3,4],fedora:4,feed:3,feel:4,fellow:4,fetch:4,few:[1,4,23],field:30,figur:4,file:3,filecheck:4,fileexist:5,fileextens:5,filegzip:5,filenam:[4,5,7,13,19,20,30],files_to_be_remov:4,fill:[3,4,7,19],fillbackbon:[],fillfromdatabas:[14,16],fillfrommontecarlosampl:16,find:3,find_packag:4,fine:4,fire:0,first:[0,2,4,7,10,13,17,18,19,20,24,27,28,30],fit:[12,16,17,18,19],five:[],fix:[4,5,27],fix_cterm:17,fix_nterm:17,flag1:3,flag2:3,flag:[3,4,5,7,12,13,25,26,27,28],flame:16,flexibl:[24,27,28,31],flip:30,flush:[0,4],fno:4,fold:19,folder:[1,4,10],follow:[0,4,7,10,14,19,23,26,27,28,29,30],fontsiz:20,foo:19,forbidden:4,forc:17,forcefield:17,forg:4,forget:[0,4],form:[15,16,19,20,26,28,30],formal:[16,17,30],format:[4,7,19],formatt:4,forward:4,found:[0,3,4,5,7,16,17,18,19,26,27,30],foundat:0,four:18,fourth:28,fraction:[17,18,19],frag_db:[14,16,19],frag_length:19,frag_po:19,frag_residu:19,frag_seq:19,frag_siz:19,fragdb:[14,15,16,19,22],fragger:[18,19],fraggerscoreparamet:[],fragment:15,fragment_db:22,fragment_info:19,fragment_length:19,fragmentinfo:19,fragmentsampl:18,frame:[],frame_residu:[25,27],frameresidu:25,framework:4,free:[4,29,30],frequenc:[18,19],frm:27,frm_delta1_arg:31,frm_delta1_asn:31,frm_delta1_asp:31,frm_delta1_ci:31,frm_delta1_gln:31,frm_delta1_glu:31,frm_delta1_hi:31,frm_delta1_il:31,frm_delta1_leu:31,frm_delta1_li:31,frm_delta1_met:31,frm_delta1_ph:31,frm_delta1_pro:31,frm_delta1_s:31,frm_delta1_thr:31,frm_delta1_trp:31,frm_delta1_tyr:31,frm_delta1_v:31,frm_delta2_arg:31,frm_delta2_asn:31,frm_delta2_asp:31,frm_delta2_gln:31,frm_delta2_glu:31,frm_delta2_hi:31,frm_delta2_il:31,frm_delta2_leu:31,frm_delta2_li:31,frm_delta2_met:31,frm_delta2_ph:31,frm_delta2_pro:31,frm_delta2_s:31,frm_delta2_thr:31,frm_delta2_trp:31,frm_delta2_tyr:31,frm_delta3_arg:31,frm_delta3_gln:31,frm_delta3_glu:31,frm_delta3_li:31,frm_delta3_met:31,frm_delta3_tyr:31,frm_delta4_arg:31,frm_delta4_li:31,frm_t_arg:31,frm_t_asn:31,frm_t_asp:31,frm_t_cy:31,frm_t_gln:31,frm_t_glu:31,frm_t_hi:31,frm_t_ile:31,frm_t_leu:31,frm_t_ly:31,frm_t_met:31,frm_t_phe:31,frm_t_pro:31,frm_t_ser:31,frm_t_thr:31,frm_t_trp:31,frm_t_tyr:31,frm_t_val:31,frmrotam:[24,28],frmrotamergroup:[25,26,28],from:[2,3,13,21],fromresidu:30,front:[0,4,5],fulfil:[19,30],full:[],fulli:[4,12,19],functions_specific_to_your_act:4,funni:[1,4],further:31,fuzzi:16,gamma:[13,24],gamma_bin:13,gap:[10,17,23],gapfre:19,gather:[3,4,6,12,19,21,27,28,30],gcc:4,gener:[0,1,4,9,10,14,15,16,17,18,19,20,22,29,30],generalis:4,generatestructureprofil:19,geom:[12,24,25,28],geometr:[],geometri:[16,19],get:[13,15],getangl:27,getangularbins:19,getavgcbetascor:16,getavgclasscor:16,getavgdssphbondscor:16,getavghbondcor:16,getavgpackingscor:16,getavgstemrmsd:16,getavgtorsionscor:16,getbackbonelist:19,getbins:20,getbinsperdimens:20,getcharg:28,getcoordindex:19,getcoordinfo:19,getcstem:16,getdihedralangl:19,getdistbins:19,getdsspstat:19,getfragmentinfo:19,getframeenergi:28,gethistogramindex:[12,20],gethistogramindic:20,getinternalenergi:28,getinternalenergyprefactor:28,getnam:[27,28],getnstem:16,getnumactiveedg:26,getnumactivenod:26,getnumcoord:19,getnumedg:26,getnumfrag:19,getnumnod:26,getnumstempair:19,getnumsubrotam:28,getomegators:12,getoriginaldsspst:16,getoriginalsequ:16,getparticletyp:28,getphiprobabilitygivenpsi:20,getphitors:[12,27],getpo:28,getprob:[20,28],getprofilescor:[],getpsiprobabilitygivenphi:20,getpsitors:[12,27],getresiduedepth:19,getscor:[18,19],getselfenergi:28,getseqid:[],getseqsim:[],getsequ:[12,19],getsequenceprofil:19,getsolventaccessibilitit:19,getssagr:[],getstructureprofil:19,getsubrotamerassoci:28,getsubrotamerdefinit:28,gettemperatur:[18,28],gettorsionprob:[],gettransform:12,gettransformedcopi:28,git:[2,3],gitignor:4,give:[3,4,14,18,28],given:[0,3,5,7,12,13,14,16,17,18,19,24,26,27,28,30],gln:29,global:8,glu:[28,29,30],glutam:29,glutamin:29,gly:[23,27,29],glycin:29,goal:0,gobbl:7,goe:[1,4,30],good:[3,4,19,23],got:1,grain:4,graph:[],grep:1,group:[13,15],group_definit:[13,20],group_id_idx:13,grow:23,guarante:19,gui:4,guid:17,gzip:[5,7],hand:[1,3,7],handl:[9,14,23,24],happen:[0,4,18,23,28],hash:19,hb_alpha_bin:13,hb_beta_bin:13,hb_d_bin:13,hb_gamma_bin:13,hb_max_alpha:13,hb_max_beta:13,hb_max_d:13,hb_max_gamma:13,hb_min_alpha:13,hb_min_beta:13,hb_min_d:13,hb_min_gamma:13,hbond:[13,16,18,25,27,28,29,31],hbond_scor:16,headach:4,header:[1,4],header_stage_path:4,headlin:4,heavili:[19,27,28],helic:[12,13,15,18,28],helix:[10,12,18,27],hellyeah:10,help:[0,1,3,4,7,10],helper:[2,3],hen:19,henc:4,here:[0,1,3,4,5,7,10,18,19,20,22,23,31],hhm:19,hhsearch:19,hhsuit:19,hide:4,hierarchi:8,higher:1,highest:8,highli:[1,19],hint:7,histidin:29,histogram:[18,20],histori:4,hit:[0,4,17,20],hmm:19,hmm_dir:19,hmm_path:19,hmmdb:19,hold:23,home:3,homolog:[6,10,19,21],honour:23,host:[3,4],hotfix:4,hous:4,hparticl:28,hsd:[28,29,30],hse:[28,29,30],html:[1,2,4],http:4,hydrogen:[19,23,25,27,28,31],hyphen:0,idea:[0,2,4,14],ideal:[12,13,17],ident:[13,16,19,20,30],identifi:[7,13,19,30],idx:[12,19],ignor:23,illustr:19,imagin:4,imaginari:0,immedi:[0,4,8],implement:[4,17,24,26,27,29],implicit:1,improv:[15,22,24,27],includ:[1,2,4,5,10,15,16,19,27,28,31],include_directori:4,incomplet:23,inconsist:[12,13,17],inconveni:4,increas:[16,17,23],incred:23,index:[4,11,12,13,16,17,18,19,20,25,28,30],indic:[],inf:[14,26],influenc:[7,31],info:19,inform:[4,7,12,13,14,15,16,19,23],inherit:0,init:4,init_frag:18,initi:[2,12,13,14,16,17,18,19,26,28,30],initial_bb:16,initial_epsilon:26,initialis:0,inlin:4,input:[0,7,10,17,18,19,20,22,24,27,28],insert:[12,14,16,18,23],insertinto:[12,14,16],insid:[0,3,7],insight:4,inspir:17,instal:[1,4],instanc:[7,13,15,28],instead:[0,1,3,4,5,13,18,28],intend:[0,4,18,28],intent:21,interact:13,intercept:18,interest:[0,18,19,28,30],interfac:4,intermedi:4,intern:[0,3,4,13,15,17,18,19,20,26,27,28,31],internal_e_prefactor_arg:31,internal_e_prefactor_asn:31,internal_e_prefactor_asp:31,internal_e_prefactor_ci:31,internal_e_prefactor_gln:31,internal_e_prefactor_glu:31,internal_e_prefactor_hi:31,internal_e_prefactor_il:31,internal_e_prefactor_leu:31,internal_e_prefactor_li:31,internal_e_prefactor_met:31,internal_e_prefactor_ph:31,internal_e_prefactor_pro:31,internal_e_prefactor_s:31,internal_e_prefactor_thr:31,internal_e_prefactor_trp:31,internal_e_prefactor_tyr:31,internal_e_prefactor_v:31,internet:4,interpol:30,interpret:[4,5],intervent:4,introduc:[0,3,4,17],invalid:[13,17,18,19,25,28,29,30],invok:[1,3,4,8],involv:4,ishbondacceptor:28,ishbonddonor:28,isoleucin:29,issimilar:30,isvalid:27,item:[0,4,13,19,23],iter:[16,17,18,19,20,23,26],itself:[3,4,18,27],job:[4,13,19],join:[14,18,19],jone:[19,28,31],jones1999:19,json:7,just:[0,1,4,7,8,16,19,22,23],kabsch1983:19,kabsch:19,keep:[0,3,4,7,16,27],keep_non_converg:16,keep_sidechain:27,kei:[7,18],kept:[17,25,27],keyword:20,kic:[],kicclos:18,kick:7,kind:[0,4],kinemat:17,know:[1,30],known:[3,5],kortemm:17,krivov2009:27,krivov:27,kwarg:[0,4],l_e:28,label:4,languag:3,lapack:[1,4],lapack_lapack_librari:1,larg:[19,20],larger:[14,19],last:[0,3,12,18,19,31],last_psi:12,later:[0,4],latest:1,latter:4,launcher:[3,4],layout:[19,28],lead:[4,5,12,13,16,17],learn:[],least:[1,3,4,12,26],leav:0,left:[5,23],legal:4,len:[12,19,27],length:[7,16,17,19,20],lennard:[28,31],less:[4,15,16,19,31],let:[0,4,12,14,19,27],letter:[12,13,18,19,20,29],leu:29,leucin:29,level:[1,4,8],lib:31,lib_stage_path:4,libexec:[3,4],libexec_stage_path:4,librari:3,library1:3,library2:3,life:4,ligand:[22,25],like:[0,3,4,7,22,23,28],limit:[7,17,19],line:[],linear:[18,19],linearscor:18,link:[1,3,4],linkcheck:[1,4],linker:3,list:[0,1,3,4,5,7,10,12,13,16,17,18,19,20,23,25,26,27,28,30],littl:[3,4],live:[3,4],load:13,load_frequ:[15,19],loadalign:23,loadbackboneloopscor:[14,15,18],loaddunbracklib:27,loadfragdb:[14,15],loadpdb:[14,18,19,23,27],loadstructuredb:[14,15,19],loadtorsionsampl:[12,15,18,20],loadtorsionsamplercoil:15,loadtorsionsamplerextend:15,loadtorsionsamplerhel:15,local:16,locat:[1,3],log:[4,5,28],lone:28,lone_pair:28,longest:19,look:[4,5,9,12,14],loop:[],loop_candid:[14,16],loop_length:19,loop_seq:14,loopcandid:[14,16],loos:[],loss:4,lost:[0,4,13],lot:[0,4,7],low:0,lower:[18,23],lowest:[18,28],lysin:29,machin:[],macro:[3,4],made:[3,30],magic:4,mai:[0,1,3,4,5,7,23],main:30,mainli:[18,28],maintain:4,major:4,make_directori:4,makefil:[1,4],makestat:30,malici:4,man:[1,4],manag:[3,4],mandatori:[4,16],mandel:17,mandell2009:17,mani:[5,7,17],manipul:[12,14],manner:[4,13,18,26],manual:[0,1,4,13,18,19],mar:15,mark:[7,25],markup:4,master:4,mat4:12,match:[3,4,14,16,17,18,19,20,23],materi:[0,4],mathemat:[16,17],matplotlib:20,matric:19,matrix:19,matter:[3,28],max:[13,23,26,30,31],max_complec:26,max_complex:26,max_count:13,max_dev:18,max_iter:16,max_step:17,maxim:[13,15,17,18,19],maximum:[13,16,17,18],mc_closer:18,mc_cooler:18,mc_sampler:18,mc_scorer:18,mean:[3,4,7,23],meaning:19,meant:[10,26],measur:16,mechan:[10,17],medl:13,meld:2,member:[4,7,23],membership:16,memori:[15,19],mention:[0,1],merg:[2,4,23,28],mergegapsbydist:23,mess:4,messag:[],messi:4,met:29,methionin:[23,29],method:[0,7,17,19,20,24,26],metropoli:[16,18],middl:4,might:[17,19,28],min:13,min_candid:14,min_scor:14,mind:[0,4],minim:[10,13,14,16,17,19,24,26],minimalist:23,mismatch:13,miss:[5,23],mix:3,mkdir:[1,4],mmcif:5,mod:4,mode:[0,30],model:13,modif:23,modifi:[2,4,12,16,23],modul:2,mol:[4,10,12,13,16,17,18,19,20,25,27,28,30],mol_alg:4,molecular:[10,17,19],moment:4,monitor:0,monolith:4,mont:[],montecarloclos:[],montecarlocool:[],montecarloloopsampl:18,montecarlosampl:18,montecarloscor:[],mood:4,more:[0,1,3,4,7,23,26,28,31],most:[3,4,12,17,20,23,25,31],mostli:[3,4],move:[4,16,17,18],msg:5,msgerrorandexit:5,msm:19,much:[4,23],multipl:[1,4,7],multipli:18,my_db:19,n_coord:12,n_po:[25,28],n_stem:[12,14,16,17,18,19],n_stem_phi:18,n_ter:[17,25],n_terminal_length:18,name:[0,3,4,5,7,13,18,19,20,28,29,30],namespac:7,nan:[28,30],nat:17,necessari:[12,18,19],need:[0,1,3,4,5,7,8,17,19,20,22,23],neg:[0,13],neglect:[25,28],neighbor:16,neighbour:[23,30],never:[4,7,13],nevertheless:4,new_res_nam:28,newli:18,next:[0,4,12,17],next_aa:18,nice:4,nitrogen:[12,25,28],nobodi:0,node:26,non:15,none:[7,22,27],nonredund:19,nonzero:[26,30],normal:28,normalization_factor:28,notabl:19,note:[4,7,17,18,19,25,27,29],noth:[3,4,18,23,28],notic:[0,3,4],nov:1,novel:19,novo:18,now:[0,4,10,12,14,19,23],nparticl:28,nterminalclos:18,num_frag:19,num_loop:16,number:[0,12,13,15,16,17,18,19,20,23,25,26,28,30],numpi:[18,20],o_coord:12,o_po:25,object:[],observ:[17,19,26],obtain:[22,23],obviou:4,occupi:25,occur:28,ocparticl:28,off:[0,4,23],offer:[15,25,28],offset:19,often:[4,5,7,17],olc:12,olson:19,omega:[12,13],omit:22,onc:[0,4,9,13,14,17,26,30],one_letter_cod:[12,14,18,19],onli:[0,3,4,5,7,8,13,16,18,19,23,25,26,27],onto:[0,12,19],oparticl:28,openmm:1,openstructur:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],oper:[4,10,26],opt:[4,5,7],optim:[1,4,30],optimis:4,option:[1,4,7,17,30],order:[7,13,19],org:4,organ:[19,30],orient:[13,17],origin:[4,7,16,18,23],ost:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],ost_:[],ost_doc_url:4,ost_double_precis:1,ost_include_dir:4,ost_root:[1,4],other:[0,1,4,7,12,13,16,23,28,30,31],otherwis:[0,3,4,12,18,28],our:[3,4,19],out:[0,1,3,4,19,20,27,30],output_vari:4,outsid:4,over:[1,3,4,7,19,23],overal:26,overlap:18,overli:4,overview:[4,27],own:3,oxygen:[12,25,28],pack:[13,16],packag:[3,4],packing_scor:16,page:[1,4,11,27],pai:0,pair:[17,18,19,20,28,30],pairwis:[13,16,24,26,28],pairwiseenergi:28,paper:[24,27],paragraph:[0,4],parallel:19,param:[],paramet:[0,3,5,7,8,12,13,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31],parameter_index:19,parametr:[13,25,28],parent:23,pars:[],parse_arg:7,parser:[],part:[0,4,18,25,26,27],particip:27,particl:13,particletyp:[],particular:[4,16,17,18,19,28,30],partner:[13,28],pass:[4,7,17,18],past:4,path:[0,1,3,4,5,10,19,20],path_to_chemlib:8,pattern:19,pdb:[5,10,12,14,15,18,19,23,27],pdb_id:19,peopl:4,pep:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],peptid:[14,19,23,27],per:[3,4,6,18,19,20,28,31],perfect:4,perfectli:4,perform:[4,10,16,17,18,19,24,26],permiss:4,permut:26,phe:[29,30],phenylalanin:29,phi:[12,13,17,18,19,20,25,27,28,30],phi_bin:[13,30],phi_handl:27,phipsisampl:18,phosphoserin:23,phrase:4,pick:18,pictur:4,piec:[4,16],pipelin:[],pivot:[16,17,18],pivot_on:[16,17],pivot_thre:[16,17],pivot_two:[16,17],place:[0,4,5,7],plausibl:13,pleas:[4,17,19],plot:20,plt:20,plu:[4,7,8,28],pm3_csc:4,pm3argpars:[],pm3argumentpars:[5,7],pm3optionsnamespac:7,pm_action:[0,3,4],pm_action_init:4,pm_bin:0,point:[13,21],pointer:1,polar:[27,28,31],polar_direct:28,pop:4,popul:[1,4],posit:[12,13,14,15,16,17,18,19,20,24,25,26,28],possibl:[4,7,10,13,15,16,17,18,19,20,23,24,25,26,27,28,29,31],post:[7,22],potenti:[13,14,15,16,19,23],practic:[3,4],pre:4,pre_commit:4,preced:[],precis:16,precomput:[9,14,15],predefin:10,predict:[19,27],predicted_ss:[],prefactor:[28,31],prefer:[1,3,30],prefix:[0,3,4,5,7],prepar:[4,22],present:[12,17,25,28,30],press:[],prev_aa:18,prevent:[0,4],previous:[13,14,19,28],principl:18,print:[0,1,12,19],printstatist:19,privat:0,pro:[20,29,30],probabilist:19,probability_cutoff:31,probabl:[3,4,16,17,18,19,20,28,30,31],problem:[4,7,17,18,19,26],process:[0,4,7,13,17,18,22,25,30],produc:[0,1,3,4,19],product:[0,4],profil:[15,16,19],profilescor:[],prog:7,program:[3,4,6],project:[3,4],project_binary_dir:4,project_nam:4,prolin:[13,29],promod3:[],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,12],proper:4,properli:[0,13,26],properti:[4,30],propos:[16,17,18,24],proposed_posit:18,proposestep:18,prot:[18,19,27],protein:[10,15,17,19,23,25,27],proton:[28,29,30],provid:[0,1,3,4,7,12,13,14,17,18,19,21,25,27,28,30],prune:26,pseudo:[18,23,31],psi:[12,13,17,18,19,20,27,28,30],psi_bin:[13,30],psi_handl:27,psipr:19,psipred_confid:19,psipred_predict:19,pull:4,punch:0,purpos:[4,30],push:4,pushverbositylevel:7,put:[0,3,4,5,7],py_run:[0,3,4],pyc:[0,4],pylint:4,pylintrc:4,pymod:4,pyplot:20,python:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],python_binari:4,python_doc_url:4,python_root:1,python_vers:4,qmean:[1,4],qmean_include_dir:4,qmean_root:4,queri:[19,28,30],querylib:30,question:20,quickli:[4,17],quit:[4,7],rachovski:15,rackovski:15,radian:20,radii:31,radiu:[13,31],rais:[7,12,13,17,18,19,20,23,24,25,28,30],random:[12,15,16,17,18,20],random_se:16,randomized_frag:12,randomli:[17,18],rang:[12,17,18,19,20,30],rapid:[],rare:4,rather:[4,5,7,30],raw:[13,22],raw_model:[13,22],rawmodel:[2,22],rawmodelingresult:[13,22,23],reach:[17,28],read:[4,30],readabl:[4,30],reader:[4,10],readi:[1,30],real:[4,7],realli:[0,1,4,5],reappear:4,reason:[4,18,19,25],rebas:4,rebuild:[1,4],recalcul:[12,20],recent:4,recoginz:29,recognis:[0,4],recognit:19,recommend:1,reconstruct:12,reconstruct_sidechain:27,reconstructcbetaposit:12,reconstructoxygenposit:12,record:0,reduc:19,redund:15,ref:[],ref_backbon:19,refer:[0,3],regard:[17,24],region:[17,18,23,25],regist:[3,4],reject:[17,18],rel:[3,13,16,17],relat:[3,4,7,19,31],relax:[],relev:[1,3],rememb:[0,18],remodel:14,remodel_cterminal_o:12,remodeled_crambin:14,remot:[14,18,19,27],remov:[1,16,23,26,27],renam:2,renumb:23,replac:[12,18],replacefrag:12,report:[0,4,23],repositori:[0,2,3,4,10],repres:[9,13,14,16,17,19,20,24,25,26,27,28],represent:[12,14,28],request:30,requir:[1,4,12,14,15,17,19,25,27,28,29,30],resembl:4,reserv:5,reset:[13,18],resid:[],residehandl:28,residue_depth:19,residue_index:[25,28],residuehandl:[12,16,17,18,19,25,28,30],resnum:13,resolv:[4,17],respons:4,rest:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],restrict:4,restrict_chain:23,restructuredtext:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],result:[1,4,18,22,23,24,26,30,31],reus:23,review:4,reviv:4,rewrit:0,right:[0,1,4,7,23],rigid:[17,24,25,26,27,28,30],rmodel:23,rmsd:[12,16,17,19],rmsd_cutoff:[16,17,19],rmsd_thresh:19,rmsd_threshold:19,robot:17,roland:[],role:7,root:[1,3,4],rosetta:13,rot_group:27,rot_lib:28,rotam:[],rotamer_group:[25,26,27],rotamer_id:[27,28],rotamer_librari:27,rotamer_model:27,rotamer_on:24,rotamer_two:24,rotamergroup:28,rotamerid:[],rotamerlib:[27,28,30],rotamerlibentri:30,rotamerset:[25,27,28,31],rotat:12,rotatearoundomegators:12,rotatearoundphipsitors:12,rotatearoundphitors:12,rotatearoundpsitors:12,roughli:15,routin:0,rrm:27,rrmrotam:[24,28],rrmrotamergroup:[25,26,28],rst1:3,rst2:3,rst:[3,4],rtype:[],rule:4,run_engin:21,runact:0,runexitstatustest:[0,4],runnabl:4,runtest:[0,4],runtimeerror:[12,13,17,18,19,20,23,24,25,28,30],runtimeexcept:20,same:[0,1,3,4,7,13,17,18,19,25,28,30],sampl:[],sample_polar_hydrogen:[28,31],sampled_frag:18,sampler:15,samplerobject:[],sander:19,sanner1996:19,sanner:19,satisfi:29,save:[4,12,13,14,18,19,20,30],savepdb:[10,12,14,18,19,23,27],scale:[],scaled_:[],scheme:[0,4,7,18],sci:17,score:[],scorer:[13,15],scorerobject:[],scratch:28,scwrl4:[27,28],seamlessli:4,search:[1,4,11,14,16,19,27,28],searchdb:19,second:[13,17,23,24,28],secondari:[13,16,19],secondli:4,section:[0,3],see:[0,4,5,7,10,19,22,23,31],seed:[15,16,17,18,20],seem:4,segment:12,select:[14,17,18,19,23,27],selenium:23,self:[0,4,23,26,28],self_energi:28,send:5,sensibl:23,separ:[0,4,13,20,24],seq:[4,16,19,23],seq_alg:4,seqid:19,seqr:[13,14,18,19],seqres_list:13,seqsim:19,sequenc:13,sequenceidentityscor:[],sequenceprofil:19,sequencesimilarityscor:[],sequenti:12,ser:[28,29,31],serin:29,serv:[0,7,19],servic:4,set:[3,13,15,23,30],set_directory_properti:4,setcbetaenergi:13,setcbetapotentialparamet:13,setcbpackingenergi:13,setcbpackingpotentialparamet:13,setenviron:[13,14,18],setframeenergi:[25,27,28],sethbondenergi:13,sethbondpotentialparamet:13,setinternalenergi:28,setinternalenergyprefactor:28,setinterpol:30,setomegators:12,setphipsitors:12,setphitors:12,setpolardirect:28,setprob:28,setpsitors:12,setstructureprofil:19,settemperatur:28,settorsionenergi:13,settorsionpotentialparamet:13,setup:[2,4,17,18],setup_boost:4,setup_compiler_flag:4,setup_stag:4,setupbackbonescor:[13,23],sever:[1,4,7,9,13,14,15,17,19,20,25,28,30,31],shake:18,shapovalov:27,shebang:4,shelenkov:[],shell:[0,1,4,5],ship:22,should:[0,3,4,5,7,10,12,13,14,16,17,18,19,20,22,23,25,26,27,28],shout:[],show:[0,4,20,27],shown:4,side:[4,23,27],sidechain:[],sidechain_test_orig:27,sidechain_test_rec:27,sidechainparticl:28,sidechains_pymod:4,sidechains_rst:4,sidechains_unit_test:4,sig1:[28,30],sig2:[28,30],sig3:[28,30],sig4:[28,30],silent:0,similar:[0,1,4,13,19,30],similardihedr:30,similarli:1,simpl:[12,18,24,25,30],simplest:[4,27],simpli:[12,14,18,29,30],simplif:7,simplifi:19,simul:[16,18],sinc:[0,1,3,4,5,19,20,29],singl:[3,4,17,18,19,22,23,25,26,28],sit:4,size:[12,13,16,17,18,19,20,23],skip:[0,4,19],small:[17,23],smaller:[13,17,19,31],smallest:[],smallish:[1,4],smart:4,smng:2,soding2005:19,softsampl:18,softwar:4,sol:27,sole:[0,4],soli:15,solut:23,solv:[4,26,27],solvent:[16,19],solver:4,some:[0,1,3,4,7,13,16,18,19,22,23,25,27,28,30],someth:[0,4,5,19,22],somethingtest:4,sometim:4,somewher:[3,19],soon:[4,17,27,30],sort:[0,3,30],sound:4,sourc:[0,1,3,4,5,7,8,13,14,19,22,27,30],source1:[3,4],source2:[3,4],span:23,sparticl:28,spawn:[0,4],special:[0,1,3,4,29,30],specif:[0,13,16,18,19,20,30],specifi:[1,3,12,20,28,30],specimen:5,spehner:19,spend:4,sphinx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],sport:4,squar:19,src:4,ssagre:19,ssagreementscor:[],stabil:19,stabl:4,stack:4,stage:[],stage_dir:4,stai:[0,4],standard:[1,4,6,7,13,20,25,28,30],start:3,start_resnum:[13,18],start_temperatur:18,starter:0,stash:4,state:[0,1,4,13,19,24,28,29,30],statist:[13,14,15,16,19],statu:[0,4],std:[],stderr:0,stdout:0,steadili:18,steepest:17,stem:[12,14,16,17,18,19,23],stem_rmsd:16,step:[4,10,16,17,18,19,22],step_siz:16,stereochem:23,steric:30,sth:22,still:4,stop:[0,17],stop_criterion:17,store:[0,4,10,12,16,18,19,20,23],stori:4,str:[0,5,7,8,12,13,16,17,18,19,20,27,28,29,30],straight:4,strategi:30,strict:4,string:[5,7,13,19,20],strip:[23,28],structral:13,structural_db:16,structuralgaplist:23,structure_db:[14,19,22],structure_dir:19,structure_path:19,structuredb:[14,15,19,22],structureprofil:19,stuff:22,sub:[4,17],sub_frag:12,subdir:4,subject:4,submodul:4,submodule1:4,subrotam:[24,28,31],subsequ:[13,23],subst:19,subst_matrix:19,substitut:19,substweightmatrix:19,subtre:[3,4],success:[5,18,26],suffix:5,suggest:4,suit:[0,4],sulfur:[24,28],sum:[14,28,31],superpos:[12,17,18,19],superpose_stem:12,superposed_rmsd:12,superposeonto:12,superposit:[16,18],supervis:0,supos:19,supper:[],support:[0,4,5,17],suppos:4,sure:[1,4,7,19],surf:19,surfac:19,surfacehandl:19,surround:[13,19],symmetr:30,system:[0,1,2,3,4],t_sampler:20,tail:12,tailor:13,take:[4,18,19,20,23,26,27],taken:[16,25,28],talk:0,target:[0,1,3,4,7,10,17,18,19,23],target_sequ:19,task:[4,17,23],technic:[19,25,31],tell:[0,4,5,7,19],temperatur:[16,18,28,31],templat:[0,7,10,22,23],template_structur:23,temporarili:4,term:[4,13,19,28,29,30,31],termainl:[],termin:[0,5,10,12,16,17,18,25],terminal_sequ:18,termini:18,terminu:[18,19],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,7],than:[4,7,13,17,19,23,31],thei:[1,4,12,13,18,19,20,27,28,29,30],them:[3,4,9,14,19,20,22,25,28,31],theoret:18,theori:[],therefor:[4,12,17,18,19,30],thi:[0,1,3,4,5,6,7,8,10,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],thing:[0,1,4,7,17,19,27,30,31],think:4,thoroughli:4,those:[0,1,3,4,7,16,23,26,27],though:[],thr:[28,29,31],thread:15,three:[0,3,4,12,13,16,18,20,28,29,31],threonin:29,thresh:[13,28,30],threshold:[17,19,23,26,30],through:[0,4,19],throughout:[4,7,15],thu:5,tidi:4,tightli:4,time:[0,4,12,13,14,23],tini:[4,23],titl:20,tlc:29,tlctorotid:[27,29],toentiti:[10,12,16,18,19],togeth:[4,19],too:[4,19],tool:[3,14,19,27],toolbox:4,top:[1,4,8],topic:[0,4],topolog:17,torsion:[13,15],torsion_angl:27,torsion_bin:13,torsion_sampl:[12,16,17,18,22],torsion_scor:16,torsionprob:19,torsionprobabilityscor:[],torsionsampl:[12,13,15,16,17,18,19,20,22],total:19,touch:[0,4],toward:[4,13,17],tpl:23,tpr:[29,30],track:[5,27],tradit:7,tradition:5,train:15,trajectori:18,tran:[13,29,30],transform:[12,16,22,28,30],transformation_matrix:12,translat:[29,30],transomegators:13,treat:[4,23,30],tree:[0,3,4,26],trg:7,tri:[23,30],trick:[0,4],trigger:[0,3,4],tripeptid:20,tripl:5,triplet:[],tripplet:[],trp:29,trustworthi:4,tryptophan:29,tupl:[5,12],turn:[0,4,5],tutori:4,two:[0,4,12,13,16,17,19,23,24,27,28,29,30,31],txt:[0,1,3,4],type:[13,15,22,23],typic:[12,18,27,28],tyr:[28,29,30,31],tyrosin:29,ultra:19,uncertain:4,under:[3,4],undergo:[17,18],underli:16,underscor:0,understand:4,unexpect:1,unfavour:[17,18,24],unfortun:4,uniqu:[18,19,30],unittest:[0,4],unix:4,unlik:[27,31],unrecognis:[5,7],until:[4,17,26,28],untrack:0,unus:4,updat:[4,17,23],updatedistribut:20,upon:[17,18],url:4,usabl:4,usag:[15,19,25,27],user:[],userlevel:0,usr:4,usual:[0,1,3,4,7,14],utilis:4,val:[20,29],valid:[4,17,18],valin:29,valu:[1,5,7,12,13,18,19,25,26,27,28,29,30],vanish:4,varadarajan:19,vari:3,variabl:[0,1,4,10,31],variant:7,variou:[3,21],vec3:[12,24,25,28],vector:20,verbos:0,veri:[0,4,5,31],verif:7,verifi:[0,4,5],version:[1,4,19,29],version_great:4,vertex:19,via:[0,4,7,8],view:[4,20],virtual:4,visual:10,wai:[0,1,3,4,7,12,14,19,22,25,27,29],wait:4,walk:[0,4],want:[0,1,4,8,14,17,19,22,28,30],warn:4,watch:4,web:[1,4],weight:[18,19],weird:[17,27],well:[1,3,4,13,16,19,20,23,27,28,30],went:4,were:4,wether:[16,26],what:[0,4,5,7,14],whatev:22,when:[0,3,4,7,12,13,16,18,19,20,23,24,25,27,28,30,31],whenev:[4,13],where:[0,4,5,12,16,19,20,30],wherea:19,whether:[5,12,13,17,18,19,25,27,28,30],which:[0,4,5,6,7,10,12,13,16,18,19,20,23,25,28],whistl:4,who:[26,27],whole:[0,4,23],why:[0,4],wild:3,wise:3,within:[1,4,16,30],withj:[],without:[0,3,4,5,15,17,19,23],wno:4,won:[25,27],word:3,work:[0,1,3,4,7,23],worst:4,would:[0,1,4,5,20,24,28],wrap:22,wrapper:[0,4,8],wrong:[1,7],www:4,xlabel:20,xlim:20,xxx:29,year:0,yet:19,ylabel:20,ylim:20,you:[0,1,3,4,5,7,8,10,14,17,18,19,22,25,27,28,30],your:3,your_modul:4,yourself:[1,4],zero:[19,30],zhou2005:19,zhou:19,zip:27},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\">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\">pm3argparse</span></code> - Parsing Command Lines","<code class=\"docutils literal\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","Documentation For Developers","Getting Started","Welcome To ProMod3’s Documentation!","Backbone","Loop Scoring","<code class=\"docutils literal\"><span class=\"pre\">loop</span></code> - Loop Modelling","Load Loop Objects","Loop Candidates","Loop Closing","Monte Carlo Sampling","Structural Database","Torsion Sampler","<code class=\"docutils literal\"><span class=\"pre\">pipeline</span></code> - ProMod3 Modelling Pipeline","<code class=\"docutils literal\"><span class=\"pre\">run_engine</span></code> - Build Models From Various Starting Points","<code class=\"docutils literal\"><span class=\"pre\">rawmodel</span></code> - Coordinate Modelling","Disulfid Bond Evaluation","Frame","Coming to a solution","<code class=\"docutils literal\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling","Rotamers","RotamerID","Rotamer Library","Rotamer Settings","Documentation For Users"],titleterms:{"class":20,"function":[3,5,6,25,27,28],acid:20,action:[0,3,4],actiontestcas:0,amino:20,api:[0,23],argument:7,backbon:[12,17,30],backboneloopscor:13,base:19,basic:12,block:[12,28],bond:24,branch:4,build:[1,12,22,28],can:29,candid:16,carlo:18,ccd:17,chain:19,chang:2,changelog:2,close:17,closer:18,cmake:[0,1,3,4],come:26,command:7,construct:[25,28],contribut:4,conveni:[25,28],cooler:18,coordin:23,core:6,creat:0,databas:19,defin:[19,20],depend:[1,30],develop:9,directori:4,disulfid:24,document:[3,4,9,11,32],edit:12,entri:30,evalu:24,everyth:5,execut:0,featur:19,file:5,find:19,fragment:19,frame:25,from:22,full:12,geometr:19,get:[10,29],git:4,graph:26,group:28,have:0,helper:5,hook:4,how:[4,29],indic:11,integr:0,interact:26,introduct:[3,5,7,22],issu:4,kic:17,librari:30,licens:4,line:7,load:15,loop:[13,14,15,16,17],mainten:3,make:[0,1],messag:5,model:[10,14,21,22,23,27],modul:[3,4,27],mont:18,must:0,non:30,object:[15,18,25],obtain:[],output:0,own:4,pars:7,parser:7,parti:4,particl:28,pipelin:[10,21],pm3argpars:7,point:22,promod3:[1,3,6,10,11,21],raw:23,rawmodel:23,reconstruct:27,relax:17,releas:2,residu:[12,25],rotam:[28,30,31],rotamerid:29,run:[0,1,10],run_engin:22,sampl:18,sampler:[18,20],score:13,scorer:18,script:0,sequenc:19,set:31,setcompoundschemlib:8,share:[3,5],sidechain:27,smallest:28,solut:26,stage:4,start:[4,10,22],stretch:12,structur:[4,19],subclass:0,tabl:11,test:[0,3,4,5],test_act:0,third:4,torsion:20,triplet:20,type:30,unit:[0,3,4],user:32,variou:22,welcom:11,write:4,your:4}}) \ No newline at end of file +Search.setIndex({envversion:46,filenames:["actions/index_dev","buildsystem","changelog","cmake/index","contributing","core/helper","core/index","core/pm3argparse","core/setcompoundschemlib","developers","gettingstarted","index","loop/backbone","loop/backbone_loop_score","loop/helper_classes","loop/index","loop/load_loop_objects","loop/loop_closing","loop/monte_carlo","loop/structure_db","loop/torsion_sampler","modelling/index","sidechain/disulfid","sidechain/frame","sidechain/graph","sidechain/index","sidechain/rotamer","sidechain/rotamer_id","sidechain/rotamer_lib","sidechain/sidechain_settings","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":{helper:[5,1,0,"-"],pm3argparse:[7,1,0,"-"]},"promod3.core.helper":{FileExists:[5,5,1,""],FileExtension:[5,5,1,""],FileGzip:[5,5,1,""],MsgErrorAndExit:[5,5,1,""]},"promod3.core.pm3argparse":{PM3ArgumentParser:[7,3,1,""]},"promod3.core.pm3argparse.PM3ArgumentParser":{"__init__":[7,2,1,""],AddAlignment:[7,2,1,""],AssembleParser:[7,2,1,""],Parse:[7,2,1,""],action:[7,4,1,""]},"promod3.loop":{Backbone:[12,3,1,""],BackboneList:[12,3,1,""],BackboneLoopScorer:[13,3,1,""],BackboneRelaxer:[17,3,1,""],CCD:[17,3,1,""],CCDCloser:[18,3,1,""],CTerminalCloser:[18,3,1,""],CoordInfo:[19,3,1,""],DirtyCCDCloser:[18,3,1,""],ExponentialCooler:[18,3,1,""],FragDB:[19,3,1,""],Fragger:[19,3,1,""],FragmentInfo:[19,3,1,""],FragmentSampler:[18,3,1,""],KIC:[17,3,1,""],KICCloser:[18,3,1,""],LinearScorer:[18,3,1,""],LoadBackboneLoopScorer:[16,2,1,""],LoadFragDB:[16,2,1,""],LoadStructureDB:[16,2,1,""],LoadTorsionSampler:[16,2,1,""],LoadTorsionSamplerCoil:[16,2,1,""],LoadTorsionSamplerExtended:[16,2,1,""],LoadTorsionSamplerHelical:[16,2,1,""],LoopCandidate:[14,3,1,""],LoopCandidates:[14,3,1,""],MonteCarloSampler:[18,2,1,""],NTerminalCloser:[18,3,1,""],PhiPsiSampler:[18,3,1,""],PsipredPrediction:[14,3,1,""],SoftSampler:[18,3,1,""],StructureDB:[19,3,1,""],TorsionSampler:[20,3,1,""]},"promod3.loop.Backbone":{ApplyTransform:[12,2,1,""],Backbone:[12,2,1,""],GetTransform:[12,2,1,""],aa:[12,4,1,""],c_coord:[12,4,1,""],ca_coord:[12,4,1,""],cb_coord:[12,4,1,""],n_coord:[12,4,1,""],o_coord:[12,4,1,""],one_letter_code:[12,4,1,""]},"promod3.loop.BackboneList":{ApplyTransform:[12,2,1,""],BackboneList:[12,2,1,""],CARMSD:[12,2,1,""],GetOmegaTorsion:[12,2,1,""],GetPhiTorsion:[12,2,1,""],GetPsiTorsion:[12,2,1,""],GetSequence:[12,2,1,""],InsertInto:[12,2,1,""],RMSD:[12,2,1,""],ReconstructCBetaPositions:[12,2,1,""],ReconstructOxygenPositions:[12,2,1,""],ReplaceFragment:[12,2,1,""],RotateAroundOmegaTorsion:[12,2,1,""],RotateAroundPhiPsiTorsion:[12,2,1,""],RotateAroundPhiTorsion:[12,2,1,""],RotateAroundPsiTorsion:[12,2,1,""],SetOmegaTorsion:[12,2,1,""],SetPhiPsiTorsion:[12,2,1,""],SetPhiTorsion:[12,2,1,""],SetPsiTorsion:[12,2,1,""],SuperposeOnto:[12,2,1,""],ToEntity:[12,2,1,""],append:[12,2,1,""]},"promod3.loop.BackboneLoopScorer":{CalculateCBPackingScore:[13,2,1,""],CalculateCBetaScore:[13,2,1,""],CalculateClashScore:[13,2,1,""],CalculateHBondScore:[13,2,1,""],CalculateReducedScore:[13,2,1,""],CalculateSSAgreementScore:[13,2,1,""],CalculateTorsionScore:[13,2,1,""],ClearEnvironment:[13,2,1,""],Initialize:[13,2,1,""],Load:[13,2,1,""],Save:[13,2,1,""],SetCBPackingEnergy:[13,2,1,""],SetCBPackingPotentialParameters:[13,2,1,""],SetCBetaEnergy:[13,2,1,""],SetCBetaPotentialParameters:[13,2,1,""],SetEnvironment:[13,2,1,""],SetHBondEnergy:[13,2,1,""],SetHBondPotentialParameters:[13,2,1,""],SetPsipredPrediction:[13,2,1,""],SetReducedEnergy:[13,2,1,""],SetReducedPotentialParameters:[13,2,1,""],SetSSAgreementParameters:[13,2,1,""],SetTorsionEnergy:[13,2,1,""],SetTorsionPotentialParameters:[13,2,1,""],TransOmegaTorsions:[13,2,1,""]},"promod3.loop.BackboneRelaxer":{Run:[17,2,1,""]},"promod3.loop.CCD":{CCD:[17,2,1,""],Close:[17,2,1,""]},"promod3.loop.CCDCloser":{Close:[18,2,1,""]},"promod3.loop.CoordInfo":{offset:[19,4,1,""],pdb_id:[19,4,1,""],size:[19,4,1,""]},"promod3.loop.DirtyCCDCloser":{Close:[18,2,1,""]},"promod3.loop.ExponentialCooler":{GetTemperature:[18,2,1,""],Reset:[18,2,1,""]},"promod3.loop.FragDB":{AddFragments:[19,2,1,""],GetAngularBinSize:[19,2,1,""],GetDistBinSize:[19,2,1,""],GetNumFragments:[19,2,1,""],GetNumStemPairs:[19,2,1,""],Load:[19,2,1,""],PrintStatistics:[19,2,1,""],Save:[19,2,1,""],SearchDB:[19,2,1,""]},"promod3.loop.Fragger":{"__getitem__":[19,2,1,""],"__len__":[19,2,1,""],AddSSAgreeParameters:[19,2,1,""],AddSeqIDParameters:[19,2,1,""],AddSeqSimParameters:[19,2,1,""],AddSequenceProfileParameters:[19,2,1,""],AddStructureProfileParameters:[19,2,1,""],Fill:[19,2,1,""],Fragger:[19,2,1,""],GetFragmentInfo:[19,2,1,""],GetScore:[19,2,1,""]},"promod3.loop.FragmentInfo":{chain_index:[19,4,1,""],length:[19,4,1,""],offset:[19,4,1,""]},"promod3.loop.FragmentSampler":{Initialize:[18,2,1,""],ProposeStep:[18,2,1,""]},"promod3.loop.KIC":{Close:[17,2,1,""],KIC:[17,2,1,""]},"promod3.loop.KICCloser":{Close:[18,2,1,""]},"promod3.loop.LinearScorer":{GetScore:[18,2,1,""]},"promod3.loop.LoopCandidate":{CARMSD:[14,2,1,""],GetOriginalDSSPState:[14,2,1,""],GetOriginalSequence:[14,2,1,""],RMSD:[14,2,1,""],bb_list:[14,4,1,""],cbeta_score:[14,4,1,""],clash_score:[14,4,1,""],combined_score:[14,4,1,""],hbond_score:[14,4,1,""],packing_score:[14,4,1,""],reduced_score:[14,4,1,""],ss_agreement:[14,4,1,""],torsion_score:[14,4,1,""]},"promod3.loop.LoopCandidates":{Add:[14,2,1,""],ApplyCCD:[14,2,1,""],ApplyKIC:[14,2,1,""],AttachScorer:[14,2,1,""],CalculateBetaScores:[14,2,1,""],CalculateClasScores:[14,2,1,""],CalculateCombinedScores:[14,2,1,""],CalculateHBondcores:[14,2,1,""],CalculatePackingScores:[14,2,1,""],CalculateReducedScores:[14,2,1,""],CalculateSSAgreementScores:[14,2,1,""],CalculateTorsionScores:[14,2,1,""],ClusterCandidates:[14,2,1,""],FillFromDatabase:[14,6,1,""],FillFromMonteCarloSampler:[14,6,1,""],GetAVGCBetaScore:[14,2,1,""],GetAVGClashScore:[14,2,1,""],GetAVGCombinedScore:[14,2,1,""],GetAVGHBondscore:[14,2,1,""],GetAVGPackingScore:[14,2,1,""],GetAVGReducedScore:[14,2,1,""],GetAVGSSAgreementscore:[14,2,1,""],GetAVGTorsionScore:[14,2,1,""],Remove:[14,2,1,""]},"promod3.loop.PhiPsiSampler":{Initialize:[18,2,1,""],ProposeStep:[18,2,1,""]},"promod3.loop.PsipredPrediction":{"__len__":[14,2,1,""],Add:[14,2,1,""],Extract:[14,2,1,""],FromHHM:[14,2,1,""],FromHoriz:[14,2,1,""],GetConfidence:[14,2,1,""],GetConfidences:[14,2,1,""],GetPrediction:[14,2,1,""],GetPredictions:[14,2,1,""],PsipredPrediction:[14,2,1,""]},"promod3.loop.SoftSampler":{Initialize:[18,2,1,""],ProposeStep:[18,2,1,""]},"promod3.loop.StructureDB":{AddCoordinates:[19,2,1,""],GenerateStructureProfile:[19,2,1,""],GetBackboneList:[19,2,1,""],GetCoordIndex:[19,2,1,""],GetCoordInfo:[19,2,1,""],GetDSSPStates:[19,2,1,""],GetDihedralAngles:[19,2,1,""],GetNumCoords:[19,2,1,""],GetResidueDepths:[19,2,1,""],GetSequence:[19,2,1,""],GetSequenceProfile:[19,2,1,""],GetSolventAccessibilitites:[19,2,1,""],GetStructureProfile:[19,2,1,""],Load:[19,2,1,""],PrintStatistics:[19,2,1,""],Save:[19,2,1,""],SetStructureProfile:[19,2,1,""]},"promod3.loop.TorsionSampler":{Draw:[20,2,1,""],DrawPhiGivenPsi:[20,2,1,""],DrawPsiGivenPhi:[20,2,1,""],ExtractStatistics:[20,2,1,""],GetBinSize:[20,2,1,""],GetBinsPerDimension:[20,2,1,""],GetHistogramIndex:[20,2,1,""],GetHistogramIndices:[20,2,1,""],GetPhiProbabilityGivenPsi:[20,2,1,""],GetProbability:[20,2,1,""],GetPsiProbabilityGivenPhi:[20,2,1,""],Load:[20,2,1,""],Save:[20,2,1,""],UpdateDistributions:[20,2,1,""]},"promod3.modelling":{BuildFromRawModel:[21,5,1,""],BuildRawModel:[21,5,1,""],BuildSidechains:[21,5,1,""],ClearGaps:[21,5,1,""],CloseSmallDeletions:[21,5,1,""],FillLoopsByDatabase:[21,5,1,""],FillLoopsByMonteCarlo:[21,5,1,""],GapExtender:[21,3,1,""],MergeGaps:[21,5,1,""],MergeGapsByDistance:[21,5,1,""],MinimizeModelEnergy:[21,5,1,""],ModellingHandle:[21,3,1,""],RemoveTerminalGaps:[21,5,1,""],ScoringGapExtender:[21,3,1,""],SetupBackboneScorer:[21,5,1,""],StructuralGap:[21,3,1,""],StructuralGapList:[21,3,1,""]},"promod3.modelling.GapExtender":{Extend:[21,2,1,""]},"promod3.modelling.ModellingHandle":{gaps:[21,4,1,""],model:[21,4,1,""],seqres:[21,4,1,""]},"promod3.modelling.ScoringGapExtender":{Extend:[21,2,1,""]},"promod3.modelling.StructuralGap":{Copy:[21,2,1,""],ExtendAtCTerm:[21,2,1,""],ExtendAtNTerm:[21,2,1,""],GetChain:[21,2,1,""],GetChainIndex:[21,2,1,""],GetChainName:[21,2,1,""],GetLength:[21,2,1,""],IsCTerminal:[21,2,1,""],IsNTerminal:[21,2,1,""],IsTerminal:[21,2,1,""],ShiftCTerminal:[21,2,1,""],after:[21,4,1,""],before:[21,4,1,""],full_seq:[21,4,1,""],length:[21,4,1,""],seq:[21,4,1,""]},"promod3.sidechain":{AAToRotID:[27,2,1,""],BBDepRotamerLib:[28,3,1,""],ConstructBackboneFrameResidue:[23,2,1,""],ConstructFRMRotamer:[26,2,1,""],ConstructFRMRotamerGroup:[26,2,1,""],ConstructFrameResidue:[23,2,1,""],ConstructRRMRotamer:[26,2,1,""],ConstructRRMRotamerGroup:[26,2,1,""],ConstructSidechainFrameResidue:[23,2,1,""],DisulfidScore:[22,2,1,""],FRMRotamer:[26,3,1,""],FRMRotamerGroup:[26,3,1,""],Frame:[23,3,1,""],FrameResidue:[23,3,1,""],Graph:[24,3,1,""],Particle:[26,3,1,""],RRMRotamer:[26,3,1,""],RRMRotamerGroup:[26,3,1,""],Reconstruct:[25,2,1,""],RotamerID:[27,3,1,""],RotamerLib:[28,3,1,""],RotamerLibEntry:[28,3,1,""],RotamerSettings:[29,3,1,""],SidechainParticle:[26,3,1,""],TLCToRotID:[27,2,1,""]},"promod3.sidechain.BBDepRotamerLib":{AddRotamer:[28,2,1,""],Load:[28,2,1,""],MakeStatic:[28,2,1,""],QueryLib:[28,2,1,""],Save:[28,2,1,""],SetInterpolate:[28,2,1,""]},"promod3.sidechain.FRMRotamer":{"__getitem__":[26,2,1,""],"__len__":[26,2,1,""],ApplyOnResidue:[26,2,1,""],CalculateInternalEnergy:[26,2,1,""],GetFrameEnergy:[26,2,1,""],GetInternalEnergy:[26,2,1,""],GetInternalEnergyPrefactor:[26,2,1,""],GetNumSubrotamers:[26,2,1,""],GetProbability:[26,2,1,""],GetSelfEnergy:[26,2,1,""],GetSubrotamerAssociations:[26,2,1,""],GetSubrotamerDefinition:[26,2,1,""],GetTemperature:[26,2,1,""],GetTransformedCopy:[26,2,1,""],SetFrameEnergy:[26,2,1,""],SetInternalEnergy:[26,2,1,""],SetInternalEnergyPrefactor:[26,2,1,""],SetProbability:[26,2,1,""],SetTemperature:[26,2,1,""]},"promod3.sidechain.FRMRotamerGroup":{"__getitem__":[26,2,1,""],"__len__":[26,2,1,""],ApplyOneResidue:[26,2,1,""],ApplySelfEnergyThres:[26,2,1,""],CalculateInternalEnergies:[26,2,1,""],Merge:[26,2,1,""]},"promod3.sidechain.Frame":{AddFrameEnergy:[23,2,1,""],SetFrameEnergy:[23,2,1,""]},"promod3.sidechain.FrameResidue":{"__getitem__":[23,2,1,""],"__len__":[23,2,1,""]},"promod3.sidechain.Graph":{CreateFromFRMList:[24,6,1,""],CreateFromRRMList:[24,6,1,""],GetNumActiveEdges:[24,2,1,""],GetNumActiveNodes:[24,2,1,""],GetNumEdges:[24,2,1,""],GetNumNodes:[24,2,1,""],Prune:[24,2,1,""],Solve:[24,2,1,""]},"promod3.sidechain.Particle":{AddLonePair:[26,2,1,""],GetCharge:[26,2,1,""],GetName:[26,2,1,""],GetParticleType:[26,2,1,""],GetPos:[26,2,1,""],IsHBondAcceptor:[26,2,1,""],IsHBondDonor:[26,2,1,""],PairwiseEnergy:[26,2,1,""],SetPolarDirection:[26,2,1,""]},"promod3.sidechain.RRMRotamer":{"__getitem__":[26,2,1,""],"__len__":[26,2,1,""],ApplyOnResidue:[26,2,1,""],CalculateInternalEnergy:[26,2,1,""],GetFrameEnergy:[26,2,1,""],GetInternalEnergy:[26,2,1,""],GetInternalEnergyPrefactor:[26,2,1,""],GetProbability:[26,2,1,""],GetSelfEnergy:[26,2,1,""],GetTransformedCopy:[26,2,1,""],SetFrameEnergy:[26,2,1,""],SetInternalEnergy:[26,2,1,""],SetInternalEnergyPrefactor:[26,2,1,""],SetProbability:[26,2,1,""]},"promod3.sidechain.RRMRotamerGroup":{"__getitem__":[26,2,1,""],"__len__":[26,2,1,""],ApplyOneResidue:[26,2,1,""],ApplySelfEnergyThres:[26,2,1,""],CalculateInternalEnergies:[26,2,1,""],Merge:[26,2,1,""]},"promod3.sidechain.RotamerLib":{AddRotamer:[28,2,1,""],Load:[28,2,1,""],MakeStatic:[28,2,1,""],QueryLib:[28,2,1,""],Save:[28,2,1,""]},"promod3.sidechain.RotamerLibEntry":{FromResidue:[28,6,1,""],IsSimilar:[28,2,1,""],SimilarDihedral:[28,2,1,""],chi1:[28,4,1,""],chi2:[28,4,1,""],chi3:[28,4,1,""],chi4:[28,4,1,""],probability:[28,4,1,""],sig1:[28,4,1,""],sig2:[28,4,1,""],sig3:[28,4,1,""],sig4:[28,4,1,""]},"test_actions.ActionTestCase":{RunAction:[0,2,1,""],RunExitStatusTest:[0,2,1,""],pm_action:[0,4,1,""],pm_bin:[0,4,1,""],testPMExists:[0,2,1,""]},promod3:{SetCompoundsChemlib:[8,5,1,""],core:[6,1,0,"-"],loop:[15,1,0,"-"],modelling:[21,1,0,"-"],sidechain:[25,1,0,"-"]},test_actions:{ActionTestCase:[0,3,1,""]}},objnames:{"0":["cmake","command","CMake command"],"1":["py","module","Python module"],"2":["py","method","Python method"],"3":["py","class","Python class"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"],"6":["py","staticmethod","Python static method"]},objtypes:{"0":"cmake:command","1":"py:module","2":"py:method","3":"py:class","4":"py:attribute","5":"py:function","6":"py:staticmethod"},terms:{"1akea":19,"1crn":[15,18,19,21],"1crn_cut":21,"1crna":19,"1ey":25,"1mcg":21,"1mcg_aln":21,"2b1":1,"2db":21,"4x4":12,"__doc__":[5,7],"__getitem__":[19,23,26],"__init__":[0,4,7],"__len__":[14,19,23,26],"__main__":[0,4],"__name__":[0,4],"_opt":4,"_run":[0,3],"_xml":3,"boolean":5,"break":[3,4],"case":[4,12,13,14,17,18,19,20,21,22,25,26,28],"char":12,"class":[0,4,6,7,12,13],"default":[0,1,4,7,8,12,19,20,21,25,26,29],"enum":27,"export":[24,26],"final":[4,10,14,15,19,21,24,25],"float":[12,13,14,15,17,18,19,20,21,23,24,26,28],"function":[0,2],"import":[0,4,5,7,10,12,15,18,19,20,21,25],"int":[0,5,12,13,14,16,17,18,19,20,21,23,24,26,28],"new":[0,4,7,14,16,17,18,19,21,25,26],"null":19,"public":4,"return":[0,5,7,8,12,13,14,16,17,18,19,20,21,22,23,24,26,27,28],"s\u00f6ding":19,"short":4,"static":[4,14,24,28],"super":25,"switch":4,"throw":[0,25],"true":[0,4,5,7,12,13,14,15,16,17,18,19,21,25,26,29],"try":[0,4,21,28],"while":[0,3,4],aa_with_rotam:25,aaaaaaaa:12,aatorotid:27,abil:4,abort:[4,17,21],about:[0,3,4,14,19,21],abov:[0,4,21,22,25,27,28],absolut:3,academ:4,accept:[14,17,18,21],acceptor:13,access:[15,18,19,20,26,27],accessibili:19,accord:[4,12,13,14,18,19,20,21,23,25,26,28],accuraci:17,achiev:4,acid:[12,13,16,19],acknowledg:4,across:[0,28],act:17,action_unit_test:0,actiontest:0,activ:[4,7,25],actual:[4,7,12,13,15,19,21,26,28],actual_posit:18,actual_step:18,adapt:[9,15,17,18],add:[0,3,4,7,10,14,16,19,20,23,25,26],add_argu:5,add_changelog_to_doc:4,add_custom_target:4,add_doc_depend:3,add_doc_sourc:[3,4],add_polar_hydrogen:25,add_subdirectori:4,addalign:7,addcoordin:19,addfrag:19,addframeenergi:23,addit:[3,4,5,12,18,19],addition:[0,3],additional_make_clean_fil:4,addlonepair:26,addrotam:28,addseqidparamet:19,addseqsimparamet:19,addsequenceprofileparamet:19,addssagreeparamet:19,addstructureprofileparamet:19,admir:4,advic:4,advis:4,affect:[4,12,27],after:[0,1,4,7,12,13,14,17,18,20,21,24,28],again:[1,4,21],ago:0,agreement:19,ala:[12,20,25,27],alanin:27,alg:19,algorithm:[4,14,15,17,18,21,25,27,29],alia:21,alias:4,align:[7,10,19,21],alignmenthandl:21,alignmentlist:[7,21],all:[0,1,3,4,7,10,12,13,14,17,18,19,20,21,22,23,24,25,26,28],alloc:[13,19],allow:[4,5,12,13,14,15,18,19,20,21,23],allow_prepro_ci:13,almost:3,aln:21,aln_sourc:7,alon:5,along:[0,4,19],alot:4,alpha:[12,13,14,23,25,26],alpha_bin:13,alreadi:[0,3,4,12,13,16,19,21,23,24,28],also:[0,1,3,4,5,14,15,17,18,19,20,21,23,24,28,29],alter:18,altern:18,alwai:[0,4,18],ambig:28,ambigu:28,amino:[12,13,16,19],aminoacid:[12,13,27,28],among:14,amount:28,analysi:[17,19],analyt:[14,28],anchor:26,ancient:8,angl:[9,12,13,14,15,17,18,19,20,21,23,25,26,28],angle_bin:13,angle_bin_s:19,angstrom:[17,19],ani:[0,3,4,8,10,12,13,14,18,19,20,21,23,25],anneal:[14,18],announc:[0,4],anoth:[12,17,21],anymor:24,anyth:[1,4,7,8],anywai:4,apart:[0,14,21],append:[12,14,20,21,25],appli:[4,5,8,12,14,17,18,21,24,25,26],applic:[0,17],applyccd:[14,15],applyk:14,applyoneresidu:26,applyonresidu:[25,26],applyselfenergythr:26,applyselfenergythresh:25,applytransform:12,approach:[1,4,19,21],appropri:[20,21],approxim:[24,26],arbitrari:[7,14,19],arbitrarili:18,arg:[0,4,7,27],argcheck:2,arginin:27,argpars:7,argument:[0,1,6],argumentpars:7,argv:7,around:[0,4,21],ask:4,asn:27,asp:[26,27,28],asparagin:27,aspart:[27,28],ass:18,assemblepars:7,assertequ:4,assess:13,assign:[13,14,18,19,29],assigndssp:19,associ:[14,23,26],assum:[0,4,13,19,24],atom:[12,13,14,17,19,21,22,23,25,26,28,29],atomhandl:26,atomseq:19,attach:[3,14,15,21],attachscor:[14,15],attachview:21,attempt:21,attent:[0,4],attribut:[4,7,14,28],author:4,autom:3,automat:[0,4,5,19,28],automatis:4,avail:[0,1,4,8,13,14],availabl:18,averag:[14,19],avg:19,avoid:[4,5,8,17,18],awai:4,awar:4,awesom:[0,4],awesomeactiontest:4,axi:19,back:[0,4,18,24],backbon:10,backbone_list:14,backbonelist:[10,12,13,14,17,18,19],backbonerelax:17,background:1,bar:19,base:[5,12,13,17,18],basi:[3,4,17,18,19,26],basic:[0,1,4,5],bb_list:[10,12,13,14,15,17,18,19],bbdeprotamerlib:[25,26,28],bbdeprotamerlibrari:26,becaus:[4,13],becom:28,been:[4,13,16,17,19,24,28],befor:[0,3,4,7,12,13,14,17,18,19,20,21],begin:[0,4,12],behav:0,behaviour:[7,28],behind:4,bell:4,belong:[3,4,13,14,18,19,21,23,26],belov:19,below:[4,17,19,22,24],below_thre:19,besid:[1,3,7],best:3,beta:[12,13,14,23,26],beta_bin:13,better:18,between:[0,12,13,14,17,18,19,21,22,23,24,26,28,29],beyond:7,bienchen:4,biggest:21,bilinearli:28,bin:[0,4,10,13,19,20,28],bin_siz:[20,28],binari:[0,4],bind:[19,21],bioinformat:19,biol:19,biopolym:19,bit:[0,1,4,14,21],bla:1,blank:4,blas_blas_librari:1,blosum62:19,bond:[13,17,19],bool:[0,5,7,12,13,14,16,17,18,19,21,23,25,26,28],boost:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],boost_include_dir:4,boost_root:1,both:[21,25,26,28],bottom:25,bound:26,branch:3,branchnam:4,brew:3,bridg:[16,21],briefli:4,bring:4,broken:0,broyden:21,bug:4,build:0,build_disulfid:25,builder:1,buildfromrawmodel:21,buildrawmodel:[10,21],buildsidechain:21,buildup:[25,29],built:[3,4,13,19,23,25,26],bunch:[0,4,7],bytecod:0,c_coord:12,c_po:[13,23],c_stem:[12,14,15,17,18,19],c_stem_psi:18,c_ter:[17,23],c_terminu:19,ca_coord:12,ca_po:[13,23,26],ca_pos_on:22,ca_pos_two:22,ca_rmsd:19,cach:[1,4],calcul:[12,13,14,15,17,18,19,20,22,23,24,25,26],calculatebetascor:14,calculatecbetascor:[13,15],calculatecbpackingscor:13,calculateclashscor:[13,15],calculateclasscor:14,calculatecombinedscor:14,calculatehbondcor:14,calculatehbondscor:13,calculateinternalenergi:[25,26],calculatepackingscor:14,calculatereducedscor:[13,14],calculatessagreementscor:[13,14],calculatesurfac:19,calculatetorsionscor:[13,14],call:[0,1,3,4,7,8,13,14,16,18,19,20,21,26,28],calul:20,came:4,can:[0,1,4,5,7,8,10,12,13,17,18,19,20,23,24,25,26],candid:[14,15,18,21],cannot:[4,18,19,21,27,28],canutescu2003:[17,22],canutescu:17,capabl:[16,18],captur:0,carbon:[12,23,26],carbonyl:26,carlo:[],carmsd:[12,14,19],carri:[4,5],categori:3,caus:4,cb_coord:12,cb_pack:[14,18],cb_packing_cutoff:13,cb_packing_max_count:13,cb_po:[23,26],cb_pos_on:22,cb_pos_two:22,cbeta:[12,13,14,15,18],cbeta_bin:13,cbeta_cutoff:13,cbeta_scor:[14,15],cbeta_seq_sep:13,ccd:[],ccdcloser:18,central:[13,20],certain:[0,1,3,4,13,19,20,21],certainli:0,ch1particl:26,ch2particl:26,ch3particl:26,chain:[4,12,13,16,18],chain_id:19,chain_idx:19,chain_index:[13,14,18,19],chain_nam:19,chainhandl:[12,21],chainview:19,chakravarti:19,chakravarty1999:19,chanc:[4,21,24],chang:0,change_frequ:18,chapter:[4,14],charact:[7,19],charg:[4,26],charmm27:17,check:[0,1,4,5,7,13,18,21,28],checkout:4,chemic:8,chi1:[26,28],chi2:[26,28],chi3:[26,28],chi4:[26,28],chi:[26,28],child:7,childclass:0,chmod:4,clash:[13,14,15,17,18,21,22,25],clash_scor:[14,15],clash_thresh:21,clean:[1,4],clear:13,clearenviron:13,cleargap:21,clip:7,clone:4,close:[4,10],closed_posit:18,closer:[],closesmalldelet:21,closest:19,closur:[17,21],cluster:14,clustercandid:14,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],cname:19,coars:4,code:[0,1,3,4,5,7,8,12,13,14,19,20,21,25,27],codetest:[3,4],coil:16,collect:5,collid:29,collis:29,combin:[13,14,18,19,20,22,28],combined_scor:14,come:[0,3,4,5,7],command:[0,4,5,6],commandlin:7,comment:4,commerci:4,commit:4,common:[4,7],commonli:[10,21],compar:[19,28],comparison:[19,28],compat:4,compil:[0,1,4,10],complain:0,complaint:4,complet:[4,18,19,21,25,28],complex:[4,26],compon:[4,8,13,19],compound:8,compress:5,comput:19,concept:4,condit:[4,20],conf:[1,4],confid:[13,14],config:4,configur:[1,4,14,28],conflict:4,conform:[13,17,18,19,24,25,28],connect:[3,4,15,19,24],conop:[4,12,13,27],conquer:4,consecut:[13,20],consequ:25,conserv:21,consid:[3,4,12,13,15,17,18,19,20,21,23,28],consider_all_nod:24,consider_hbond:[25,29],consider_hydrogen:26,consist:[4,13,14,17,18,19,26,28],constraint:[7,17,19],construct:12,constructbackboneframeresidu:[23,25],constructframeresidu:23,constructfrmrotam:26,constructfrmrotamergroup:[25,26],constructor:[24,26],constructrrmrotam:26,constructrrmrotamergroup:26,constructsidechainframeresidu:23,contain:[0,1,3,4,5,7,12,13,14,16,18,19,20,21,22,25,26,28],content:[4,9,11,14,15,19,25],continu:[0,17,25],contrast:23,contribut:3,control:[4,14,18,23,25,26,28,29],conveni:[0,10,18],convent:[0,27],converg:[14,17,18],convert:[12,21],cooler:[],cooling_factor:18,coord_info:19,coordin:[12,14,15,16,17,19,21,25],coordinfo:19,cope:4,copi:[3,4,21],core:[4,5],correspond:[4,12,14,19,20,21,28],corrupt:13,could:[0,3,4,7,19,21],count:[13,18,21],counterpart:13,coupl:[0,4,21],cours:4,coutsia:17,cover:[0,4,6,13,18,19],cparticl:26,cpr:[27,28],crambin:[15,18,19],crash:25,createentityfromview:25,createfromfrmlist:[24,25],createfromrrmlist:24,createfullview:21,creation:17,criterion:18,criterium:14,croak:4,crucial:4,ctermin:12,cterminalclos:18,cterminu:12,current:[1,4,18,19,26],custom:[4,18,19,27],cutoff:[13,14,16,26],cxx:4,cycl:21,cyclic:[14,15,17],cyd:[27,28],cyh:[27,28],cystein:[22,25,27],d_bin:13,dai:5,dare:3,dat:19,data1:3,data2:3,data:[0,3,4,9,13,15,16,19,21,25,26],databas:16,databs:19,date:4,dbg:4,deactiv:29,dead:24,debug:4,decent:8,decid:[4,17],decis:20,declar:[3,4],decod:7,decompos:24,decomposit:24,decreas:18,dedic:[3,4,21],def:[0,4],default_db:19,defin:[0,3,8,12,13,16,17,18],definit:[4,13,14,19,20,26,27],degre:[12,19,20],delet:[21,26],deliv:[0,18,19,21],delta:29,delta_scor:18,demand:21,demonstr:19,denovo:[9,15],dep:3,dependency1:3,dependency2:3,depth:19,deriv:[0,19],descend:21,descent:[14,15,17],describ:[3,5,7,13,14,17,19,21,25,28],describint:19,descript:[4,7,19,22,28],design:0,desir:[10,18,21],despit:13,detail:4,detect:[5,19,29],determin:[5,14],deuterium:21,develop:[0,4],deviat:[13,18,26,28],devot:6,dict:[14,18],dictionari:[7,8,19],did:[4,14],differ:[0,1,3,4,7,8,13,14,15,19,21,25,27,28,29],dihedr:[9,10,12,13,15,17,18,19,20,26,28],dihedral_angl:12,dihedral_bin:13,dihedral_idx:28,dihedral_pair:20,dimens:20,dir:4,direct:[4,12,13,16,26],directli:[15,17,19,21,25,26,27,28],directori:[0,1,3],dirti:0,dirtyccdclos:18,disabl:[0,4],disable_disable_doctest:4,disable_disable_linkcheck:4,disable_doctest:[1,4],disable_document:[1,4],disable_linkcheck:[1,4],discret:13,discuss:19,disk:[13,28],displai:5,dist:13,dist_bin:13,dist_bin_s:19,dist_cutoff:13,distanc:[13,14,15,19,21,29],distinguish:23,distribut:[0,4,18,20],disulfidscor:22,dive:[4,21],diverg:4,divers:19,dng:10,doawesomeactiontest:0,doc:[1,3,4],doctest:[1,4],document:[0,1,2],doe:[0,3,4,5,7,8,12,19,21,24],doesn:[13,18,21,28],don:[1,4,15,21],done:[0,4,5,7,13,15,17,20,21],donor:13,dont_write_bytecod:[0,4],doptim:4,dost_root:[1,4],doubl:24,doubt:7,down:[7,12,15,18,19],dqmean_root:4,draw:[12,18,20],drawback:4,drawn:[18,20],drawphigivenpsi:20,drawpsigivenphi:20,driven:4,drop:4,dssp:[13,14,19,21],dssp_hbond:18,dssp_state:13,due:[14,17,19,21,22,23],dump:[9,13,15,28],dunbrack:[17,25],dure:[0,17,23,28],dynam:28,e_thresh:21,each:[4,14,15,21],earlier:1,easi:4,easier:[0,4],easili:[3,4,21],ebb_list:19,echo:4,edg:24,editor:0,educ:4,effect:[3,4],effici:[18,19],egg:19,eigen3:4,eigen3_found:4,eigen3_include_dir:[1,4],eigen:[1,4],eigenvalu:4,eigenvector:4,either:[4,7,12,13,14,17,18,20,21,22,23,25,26,27,28],elabor:4,element:[0,12,13,14],elimin:24,els:4,emerg:0,emploi:4,empti:[4,5,7,12,13,14,26],enabl:[0,5,8,26],enable_mm:1,enclos:21,encorc:13,end:[0,1,3,4,5,12,14,19,21,24],endif:4,energi:[10,13,17,18,21,22,23,24,25,26,29],enforc:[14,15,18,19,24],enough:[4,19,21],ensur:10,enter:23,entiti:[4,12,14,21,25],entityhandl:[12,21,25],entityview:[13,20,21],entri:[4,13,17,19,25],enumer:[4,15,19,24,25,26,27],env:[4,10,13],environ:[0,4,9,13,14,15,18],epsilon:24,equal:[13,18],equidist:28,equival:21,error:5,esenti:21,essenti:4,estim:[13,18],etc:[0,4],evalu:[3,4,13,20],even:[1,4,24],eventu:7,ever:4,everi:[0,4,12,13,14,16,17,18,19,20,21,24,28],everybodi:4,everyth:[0,4],evolut:19,exactli:[1,15,18,19,21,22,27],exampl:[0,1,4,7,10,15,18,19,20,21,25,27],example_reconstruct:25,exce:[13,19],except:4,exclud:4,exclus:[0,4],exec_program:4,executable_output_path:4,exist:[0,1,3,4,5,7,13,19,21,23,26,27,28],exit:[0,5,7],exit_cod:0,exit_statu:5,exot:4,exp:18,expand:4,expect:[0,13,19,21,26],expens:19,explain:4,explan:4,exponenti:18,exponentialcool:18,ext:5,extend:[0,3,4,13,16,19],extendatcterm:21,extendatnterm:21,extended_search:[14,19,21],extens:[5,7,21],extension_penalti:21,extension_step:21,extent:19,extern:[3,4,19],extra:4,extract:[4,12,13,14,17,18,19,20,21,23,25,26],extract_burial_statu:19,extractstatist:20,f_i:19,factor:[18,26,29],fail:[0,4,5,14,21],failur:[4,5,28],fall:[17,24],fallback:28,fals:[0,4,5,7,12,14,16,18,19,21,23,24,25,26],far:14,fast:[19,28],fasta:[7,21],faster:[16,17,19],fatal_error:4,favourit:0,featur:4,fed:[3,4],fedora:4,feed:3,feel:4,fellow:4,fetch:4,few:[1,4],field:28,figur:4,file:[0,1,3,4],filecheck:4,fileexist:5,fileextens:5,filegzip:5,filenam:[4,5,7,13,14,19,20,28],files_to_be_remov:4,fill:[3,4,7,14,19,21],fillfromdatabas:[14,15,21],fillfrommontecarlosampl:[14,21],fillloopsbydatabas:21,fillloopsbymontecarlo:21,final_model:21,find:[3,4],find_packag:4,fine:4,fire:0,first:[0,2,4,7,10,13,14,17,18,19,20,21,22,25,26,28],fit:[12,17,18,19],fix:[4,5,25],fix_cterm:17,fix_nterm:17,flag1:3,flag2:3,flag:[3,4,5,7,12,13,23,24,25,26],fletcher:21,flexibl:[22,25,26,29],flip:28,flush:[0,4],fno:4,fold:19,folder:[1,4,10],follow:[0,4,7,10,15,19,21,24,25,26,27,28],fontsiz:20,foo:19,forbidden:4,forc:17,forcefield:17,forg:4,forget:[0,4],form:[14,16,19,20,21,24,26,28],formal:[14,17,28],format:[4,7,19],formatt:4,forward:4,found:[0,3,4,5,7,14,15,17,18,19,21,24,25,28],foundat:0,four:18,fourth:26,fraction:[17,18,19],frag_db:[14,15,19],frag_length:19,frag_po:19,frag_residu:19,frag_seq:19,frag_siz:19,fragdb:[14,15,16,19,21],fragger:[18,19],fragment:[12,16,17,18],fragment_db:21,fragment_info:19,fragment_length:19,fragmentinfo:19,fragmentsampl:18,frame:4,frame_residu:[23,25],frameresidu:23,framework:4,free:[4,27,28],frequenc:[18,19],frm:25,frm_delta1_arg:29,frm_delta1_asn:29,frm_delta1_asp:29,frm_delta1_ci:29,frm_delta1_gln:29,frm_delta1_glu:29,frm_delta1_hi:29,frm_delta1_il:29,frm_delta1_leu:29,frm_delta1_li:29,frm_delta1_met:29,frm_delta1_ph:29,frm_delta1_pro:29,frm_delta1_s:29,frm_delta1_thr:29,frm_delta1_trp:29,frm_delta1_tyr:29,frm_delta1_v:29,frm_delta2_arg:29,frm_delta2_asn:29,frm_delta2_asp:29,frm_delta2_gln:29,frm_delta2_glu:29,frm_delta2_hi:29,frm_delta2_il:29,frm_delta2_leu:29,frm_delta2_li:29,frm_delta2_met:29,frm_delta2_ph:29,frm_delta2_pro:29,frm_delta2_s:29,frm_delta2_thr:29,frm_delta2_trp:29,frm_delta2_tyr:29,frm_delta3_arg:29,frm_delta3_gln:29,frm_delta3_glu:29,frm_delta3_li:29,frm_delta3_met:29,frm_delta3_tyr:29,frm_delta4_arg:29,frm_delta4_li:29,frm_t_arg:29,frm_t_asn:29,frm_t_asp:29,frm_t_cy:29,frm_t_gln:29,frm_t_glu:29,frm_t_hi:29,frm_t_ile:29,frm_t_leu:29,frm_t_ly:29,frm_t_met:29,frm_t_phe:29,frm_t_pro:29,frm_t_ser:29,frm_t_thr:29,frm_t_trp:29,frm_t_tyr:29,frm_t_val:29,frmrotam:[22,26],frmrotamergroup:[23,24,26],from:[0,1,2,3,4,5,7,10,12,13,14,15,18,19,20,21,23,24,25,26,27,28],fromhhm:14,fromhoriz:14,fromresidu:28,front:[0,4,5],fulfil:[19,28],full:[0,4],full_seq:21,fulli:[4,12,19,21],functions_specific_to_your_act:4,funni:[1,4],further:[21,29],gamma:[13,22],gamma_bin:13,gap:[10,16,17],gapextend:21,gapfre:19,gather:[3,4,6,12,19,25,26,28],gcc:4,gener:[0,1,4,9,10,14,15,16,17,18,19,20,27,28],generalis:4,generatestructureprofil:19,geom:[12,22,23,26],geometr:[],geometri:[14,19],get:[0,1,4],getangl:25,getangularbins:19,getavgcbetascor:14,getavgclashscor:14,getavgcombinedscor:14,getavghbondscor:14,getavgpackingscor:14,getavgreducedscor:14,getavgssagreementscor:14,getavgtorsionscor:14,getbackbonelist:19,getbins:20,getbinsperdimens:20,getchain:21,getchainindex:21,getchainnam:21,getcharg:26,getconfid:14,getcoordindex:19,getcoordinfo:19,getdihedralangl:19,getdistbins:19,getdsspstat:19,getfragmentinfo:19,getframeenergi:26,gethistogramindex:[12,20],gethistogramindic:20,getinternalenergi:26,getinternalenergyprefactor:26,getlength:21,getnam:[25,26],getnumactiveedg:24,getnumactivenod:24,getnumb:15,getnumcoord:19,getnumedg:24,getnumfrag:19,getnumnod:24,getnumstempair:19,getnumsubrotam:26,getomegators:12,getoriginaldsspst:14,getoriginalsequ:14,getparticletyp:26,getphiprobabilitygivenpsi:20,getphitors:[12,25],getpo:26,getpredict:14,getprob:[20,26],getpsiprobabilitygivenphi:20,getpsitors:[12,25],getresiduedepth:19,getscor:[18,19],getselfenergi:26,getsequ:[12,19],getsequenceprofil:19,getsolventaccessibilitit:19,getstructureprofil:19,getsubrotamerassoci:26,getsubrotamerdefinit:26,gettemperatur:[18,26],gettransform:12,gettransformedcopi:26,git:[0,1,2,3],gitignor:4,give:[3,4,15,18,26],given:[0,3,5,7,12,13,14,15,17,18,19,21,22,24,25,26,28],gln:27,global:8,glu:[26,27,28],glutam:27,glutamin:27,gly:[21,25,27],glycin:27,goal:0,gobbl:7,goe:[1,4,28],goldfarb:21,good:[3,4,19,21],got:1,grain:4,greedi:14,grep:1,group:[13,16,19,20,23,24,25],group_definit:[13,20],group_id_idx:13,guarante:19,gui:4,guid:17,gzip:[5,7],hand:[1,3,7],handl:[],happen:[0,4,18,21,26],hash:19,hb_alpha_bin:13,hb_beta_bin:13,hb_d_bin:13,hb_gamma_bin:13,hb_max_alpha:13,hb_max_beta:13,hb_max_d:13,hb_max_gamma:13,hb_min_alpha:13,hb_min_beta:13,hb_min_d:13,hb_min_gamma:13,hbond:[13,14,18,23,25,26,27,29],hbond_scor:14,headach:4,header:[1,4],header_stage_path:4,headlin:4,heavili:[19,25,26],helic:[12,13,16,18,21,26],helix:[10,12,18,25],hellyeah:10,help:[0,1,3,4,7,10],helper:[2,3],hen:19,henc:4,here:[0,1,3,4,5,7,10,18,19,20,29],hhm:[14,19],hhsearch:[14,19],hhsuit:19,hide:4,hierarch:14,hierarchi:8,high:[2,21],higher:1,highest:8,highli:[1,19],hint:7,histidin:27,histogram:[18,20],histori:4,hit:[0,4,17,20],hmm:19,hmm_dir:19,hmm_path:19,hmmdb:19,home:3,homolog:[6,10,19,21],honour:21,horiz:14,host:[3,4],hotfix:4,hous:4,hparticl:26,hsd:[26,27,28],hse:[26,27,28],html:[1,2,4],http:4,hydrogen:[13,19,21,23,25,26,29],hyphen:0,idea:[0,2,4,15,21],ideal:[12,13,17],ident:[13,19,20,28],identifi:[7,13,19,28],idx:[12,13,14,19],iff:21,ignor:21,illustr:19,imagin:4,imaginari:0,immedi:[0,4,8,21],implement:[4,17,22,24,25,27],implicit:1,improv:[16,22,25],includ:[1,2,4,5,10,14,16,19,21,25,26,29],include_directori:4,incomplet:21,inconsist:[12,13,14,17,21],inconveni:4,increas:[14,17,21],index:[4,11,12,13,14,17,18,19,20,21,23,26,28],indic:[5,7],inf:[15,24],influenc:[7,29],info:19,inform:[4,7,12,13,14,15,16,19,21],inherit:0,init:4,init_frag:18,initi:[2,12,13,14,15,17,18,19,21,24,26,28],initial_bb:14,initial_epsilon:24,initialis:0,inlin:4,input:[0,7,10,14,17,18,19,20,21,22,25,26],insert:[12,15,18,21],insertinto:[12,15],insid:[0,3,7],insight:4,inspir:17,instal:[1,4],instanc:[7,16,21,26],instead:[0,1,3,4,5,18,21,26],intend:[0,4,14,18,26],interact:[13,22,23],intercept:[14,18],interest:[0,18,19,26,28],interfac:4,intermedi:4,intern:[0,3,4,13,14,16,17,18,19,20,21,24,25,26,29],internal_e_prefactor_arg:29,internal_e_prefactor_asn:29,internal_e_prefactor_asp:29,internal_e_prefactor_ci:29,internal_e_prefactor_gln:29,internal_e_prefactor_glu:29,internal_e_prefactor_hi:29,internal_e_prefactor_il:29,internal_e_prefactor_leu:29,internal_e_prefactor_li:29,internal_e_prefactor_met:29,internal_e_prefactor_ph:29,internal_e_prefactor_pro:29,internal_e_prefactor_s:29,internal_e_prefactor_thr:29,internal_e_prefactor_trp:29,internal_e_prefactor_tyr:29,internal_e_prefactor_v:29,internet:4,interpol:28,interpret:[4,5],intervent:4,introduc:[0,3,4,17],invalid:[13,14,17,18,19,21,23,26,27,28],invok:[1,3,4,8],involv:4,isctermin:21,ishbondacceptor:26,ishbonddonor:26,isntermin:21,isoleucin:27,issimilar:28,istermin:21,isvalid:25,item:[0,4,13,19,21],iter:[14,17,18,19,20,21,24],itself:[3,4,13,14,18,25],job:[4,19,21],join:[15,18,19],jone:[19,26,29],jones1999:19,json:7,just:[0,1,4,7,8,14,19,21],kabsch1983:19,kabsch:19,keep:[0,3,4,7,14,25],keep_non_converg:14,keep_sidechain:25,kei:[7,14,18],kept:[17,23,25],keyword:20,kic:4,kicclos:18,kick:7,kind:[0,4],kinemat:17,know:[1,28],known:[3,5],kortemm:17,krivov2009:25,krivov:25,kwarg:[0,4],l_e:26,label:4,languag:3,lapack:[1,4],lapack_lapack_librari:1,larg:[19,20],larger:[15,19],last:[0,3,12,18,19,21,29],last_psi:12,later:[0,4],latest:1,latter:4,launcher:[3,4],layout:[19,26],lbfg:21,lead:[4,5,12,13,14,17],least:[1,3,4,12,24],leav:0,left:[5,21],legal:4,len:[12,19,21,25],length:[7,13,14,16,17,19,20,21],lennard:[26,29],less:[4,14,16,19,21,29],let:[0,4,12,15,19,25],letter:[12,13,18,19,20,27],leu:27,leucin:27,level:[1,2,4,8,21],lib:29,lib_stage_path:4,libexec:[3,4],libexec_stage_path:4,librari:[1,3,4,8,25,26],library1:3,library2:3,life:4,ligand:23,like:[0,3,4,7,21,26],limit:[7,17,19,21],line:[0,4,6],linear:[14,18,19],linear_weight:14,linearscor:18,link:[1,3,4],linkcheck:[1,4],linker:3,list:[0,1,3,4,5,7,10,12,13,14,17,18,19,20,21,23,24,25,26,28],littl:[3,4],live:[3,4],load:[0,7,8,13],load_frequ:[16,19],loadalign:21,loadbackboneloopscor:[15,16,18],loaddunbracklib:25,loadfragdb:[15,16,21],loadpdb:[15,18,19,21,25],loadstructuredb:[15,16,19,21],loadtorsionsampl:[12,16,18,20],loadtorsionsamplercoil:[16,21],loadtorsionsamplerextend:16,loadtorsionsamplerhel:16,locat:[1,3,12,15,21],log:[4,5,26],lone:26,lone_pair:26,longest:19,look:[4,5,9,12,15],loop:[4,10,12],loop_candid:[14,15],loop_length:19,loop_seq:15,loopcandid:[14,15],loss:4,lost:[0,4,13],lot:[0,4,7],low:0,lower:[18,21],lowest:[18,26],lysin:27,macro:[3,4],made:[3,28],magic:4,mai:[0,1,3,4,5,7,21],main:[21,28],mainli:[18,26],maintain:4,major:4,make_directori:4,makefil:[1,4],makestat:28,malici:4,man:[1,4],manag:[3,4],mandatori:[4,14],mandel:17,mandell2009:17,mani:[5,7,17,21],manipul:[12,15],manner:[4,13,18,24],manual:[0,1,4,13,14,18,19],mar:16,mark:[7,23],markup:4,master:4,mat4:12,match:[3,4,14,15,17,18,19,20,21],materi:[0,4],mathemat:[14,17],matplotlib:20,matric:19,matrix:[12,19],matter:[3,26],max:[13,21,24,28,29],max_complec:24,max_complex:24,max_count:13,max_db_loop_len:21,max_dev:18,max_dist:14,max_extens:21,max_iter:[14,21],max_iter_lbfg:21,max_iter_sd:21,max_loops_to_search:21,max_step:17,maxim:[13,14,16,17,18,19,21],maximum:[13,14,17,18],mc_closer:18,mc_cooler:18,mc_num_loop:21,mc_sampler:18,mc_scorer:18,mc_step:21,mean:[3,4,7,21],meaning:19,meant:[10,21,24],mechan:[10,17,21],medl:21,meld:2,member:[4,7,14],memori:[13,16,19,21],mention:[0,1],merg:[2,4,14,21,26],merge_dist:21,mergegap:21,mergegapsbydist:21,mess:4,messag:4,messi:4,met:27,methionin:[21,27],method:[0,7,17,19,20,21,22,24],metropoli:[14,18],mhandl:21,middl:4,might:[17,19,26],min:13,min_candid:15,min_scor:15,mind:[0,4],minim:[10,13,14,15,17,19,21,22,24],minimizemodelenergi:21,minimum:12,mismatch:13,miss:[5,21],mix:3,mkdir:[1,4],mmcif:5,mod:4,mode:[0,28],model:[0,2,4,6],modellinghandl:21,modif:21,modifi:[2,4,12,14,21],modified_crambin:15,modul:[0,2],mol:[4,10,12,13,14,17,18,19,20,21,23,25,26,28],mol_alg:4,molecular:[10,17,19,21],moment:4,monitor:0,monolith:4,mont:[],montecarloloopsampl:18,montecarlosampl:18,mood:4,more:[0,1,3,4,7,21,24,26,29],most:[3,4,12,17,20,21,23,29],mostli:[3,4],move:[4,14,17,18],msg:5,msgerrorandexit:5,msm:19,much:[4,21],multipl:[1,4,7,13,21],multipli:18,my_db:19,n_coord:12,n_po:[13,23,26],n_stem:[14,15,17,18,19],n_stem_phi:18,n_ter:[17,23],n_terminal_length:18,name:[0,3,4,5,7,13,14,18,19,20,21,26,27,28],namespac:7,nan:[26,28],nat:17,necessari:[12,13,18,19],need:[0,1,3,4,5,7,8,17,19,20,21],neg:[0,13],neglect:[23,26],neglect_size_on:14,neighbour:[21,28],never:[4,7,13],nevertheless:4,new_res_nam:26,newli:18,next:[0,4,12,17,21],next_aa:18,nice:4,nitrogen:[12,23,26],nobodi:0,node:24,non:[4,16,17,20,25],none:[7,21,25],nonredund:19,nonzero:[24,28],norm:13,normal:26,normalization_factor:26,notabl:19,note:[4,7,14,17,18,19,23,25,27],noth:[3,4,18,26],notic:[0,3,4],nov:1,novel:19,novo:18,now:[0,4,10,12,15,19],nparticl:26,nterminalclos:18,num:21,num_frag:19,num_loop:14,num_residu:13,number:[0,12,13,14,16,17,18,19,20,21,23,24,26,28],numpi:[18,20],o_coord:12,o_po:23,object:[7,12],observ:[17,19,24],obtain:21,obviou:4,occupi:23,occur:[13,26],ocparticl:26,off:[0,4,21],offer:[16,23,26],offset:19,often:[4,5,7,17],olc:12,olson:19,omega:[12,13],omit:21,onc:[0,4,13],one_letter_cod:[12,15,18,19],onli:[0,3,4,5,7,8,13,14,18,19,21,23,24,25],onto:[0,12,19],oparticl:26,openmm:1,openstructur:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],oper:[4,10,24],opt:[4,5,7],optim:[1,4,28],optimis:4,option:[1,4,7,17,28],order:[7,13,19,21],org:4,organ:[19,28],orient:[13,17],origin:[4,7,14,18,21],ost:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],ost_doc_url:4,ost_double_precis:1,ost_include_dir:4,ost_root:[1,4],other:[0,1,4,7,12,13,14,21,26,28,29],otherwis:[0,3,4,12,18,26],our:[3,4,15,19],out:[0,1,3,4,19,20,21,25,28],output_vari:4,outsid:4,over:[1,3,4,7,19],overal:[15,24],overlap:18,overli:4,overview:[4,25],own:[0,3],oxygen:[12,23,26],pack:[13,14],packag:[3,4],packing_scor:14,page:[1,4,11,25],pai:0,pair:[14,17,18,19,20,26,28],pairwis:[13,14,22,24,26],pairwiseenergi:26,paper:[22,25],paragraph:[0,4],parallel:19,paramet:[0,3,5,7,8,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29],parameter_index:19,parametr:[13,23,26],parent:21,pars:[5,6],parse_arg:7,parser:6,part:[0,4,18,23,24,25],partial:21,particip:25,particl:[13,17,19,22,23,25],particular:[4,14,17,18,19,26,28],partner:[13,26],pass:[4,7,15,17,18,21],past:[4,21],path:[0,1,3,4,5,10,19,20],path_to_chemlib:8,pattern:19,pdb:[5,10,12,15,16,18,19,21,25],pdb_id:19,penal:21,penalti:21,peopl:4,pep:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],peptid:[15,19,25],per:[3,4,6,18,19,20,21,26,29],perfect:4,perfectli:4,perform:[4,10,12,14,17,18,19,21,22,24],permiss:4,permut:24,phe:[27,28],phenylalanin:27,phi:[12,13,17,18,19,20,23,25,26,28],phi_bin:[13,28],phi_handl:25,phipsisampl:18,phosphoserin:21,phrase:4,pick:18,pictur:4,piec:[4,14],pipelin:[],pivot:[14,17,18],pivot_on:[14,17],pivot_thre:[14,17],pivot_two:[14,17],place:[0,4,5,7],placehold:14,plausibl:13,pleas:[4,17,19],plot:20,plt:20,plu:[4,7,8,26],pm3_csc:4,pm3argpars:[5,6],pm3argumentpars:[5,7],pm3optionsnamespac:7,pm_action:[0,3,4],pm_action_init:4,pm_bin:0,point:[1,4,7,8,13,15,18,19,28],pointer:1,polar:[25,26,29],polar_direct:26,pop:4,popul:[1,4],posit:[12,13,14,15,16,17,18,19,20,21,22,23,24,26],possibl:[4,7,10,13,14,16,17,18,19,20,21,22,23,24,25,26,27,29],post:7,potenti:[13,15,16,19,21],practic:[3,4],pre:4,pre_commit:4,precis:[14,21],precomput:[9,15,16],pred:13,predefin:10,predict:[13,14,19,25],prefactor:[26,29],prefer:[1,3,28],prefix:[0,3,4,5,7],prepar:[4,21],present:[12,17,23,26,28],prev_aa:18,prevent:[0,4],previous:[13,15,19,26],principl:18,print:[0,1,12,19],printstatist:19,privat:0,pro:[20,27,28],probabilist:19,probability_cutoff:29,probabl:[3,4,14,17,18,19,20,26,28,29],problem:[4,7,17,18,19,21,24],process:[0,4,7,13,17,18,23,28],produc:[0,1,3,4,14,19,21],product:[0,4],profil:[14,16,19,21],prog:7,program:[3,4,6],project:[3,4],project_binary_dir:4,project_nam:4,prolin:[13,27],promod3:0,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,12],proper:4,properli:[0,13,24],properti:[4,28],propos:[14,17,18,21,22],proposed_posit:18,proposestep:18,prot:[18,19,25],protein:[10,16,17,19],proton:[26,27,28],provid:[0,1,3,4,7,12,13,14,15,17,18,19,21,23,25,26,28],prune:24,pseudo:[18,21,29],psi:[12,13,17,18,19,20,25,26,28],psi_bin:[13,28],psi_handl:25,psipr:13,psipred_confid:13,psipred_predict:19,psipred_st:13,psipredpredict:[13,14,19],pull:4,punch:0,purpos:[4,28],push:4,pushverbositylevel:7,put:[0,3,4,5,7],py_run:[0,3,4],pyc:[0,4],pylint:4,pylintrc:4,pymod:4,pyplot:20,python:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],python_binari:4,python_doc_url:4,python_root:1,python_vers:4,qmean:[1,4],qmean_include_dir:4,qmean_root:4,queri:[19,26,28],querylib:28,question:20,quickli:[4,17],quit:[4,7],rachovski:16,rackovski:16,radian:20,radii:29,radiu:[13,29],rais:[7,12,13,14,17,18,19,20,21,22,23,26,28],random:[12,14,16,17,18,20],random_se:14,randomized_frag:12,randomli:[17,18],rang:[12,13,14,17,18,19,20,21,28],rare:4,rather:[4,5,7,28],raw:[10,21],rawmodel:[2,4],reach:[17,26],read:[4,21,28],readabl:[4,28],reader:[4,10],readi:[1,28],real:[4,7],realli:[0,1,4,5],reappear:4,reason:[4,18,19,23],rebas:4,rebuild:[1,4],recalcul:[12,20],recent:4,recoginz:27,recognis:[0,4],recognit:19,recommend:1,reconstruct:[10,12,17,22],reconstructcbetaposit:12,reconstructoxygenposit:12,record:0,reduc:[13,14,19],reduced_scor:14,redund:16,ref_backbon:19,refer:[0,3],regard:[17,22],region:[17,18,21,23],regist:[3,4],reject:[14,17,18],rel:[3,13,14,17],relat:[3,4,7,13,14,19,29],relax:[],relev:[1,3],remain:21,rememb:[0,18],remodel:15,remodel_cterminal_o:12,remot:[15,18,19,25],remov:[1,14,21,24,25],removeterminalgap:21,renam:2,renumb:21,replac:[12,18],replacefrag:12,report:[0,4],repositori:[0,2,3,4,10],repres:[9,13,14,15,17,19,20,21,22,23,24,25,26],represent:[12,15,26],request:28,requir:[1,4,12,15,16,17,19,23,25,26,27,28],resembl:4,reserv:5,reset:[13,18],residehandl:26,residue_depth:19,residue_index:[23,26],residuehandl:[12,14,17,18,19,21,23,26,28],resnum:[12,13,15],resolv:[4,17],resort:21,respons:4,rest:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],restrict:4,restructuredtext:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],result:[1,4,14,18,21,22,24,28,29],reus:21,review:4,reviv:4,rewrit:0,right:[0,1,4,7,21],rigid:[17,22,23,24,25,26,28],rmsd:[12,14,17,19],rmsd_cutoff:[14,17,19],rmsd_thresh:19,rmsd_threshold:19,robot:17,role:7,root:[1,3,4],rosetta:13,rot_group:25,rot_lib:26,rotam:[22,23,24,25],rotamer_group:[23,24,25],rotamer_id:[25,26],rotamer_librari:25,rotamer_model:25,rotamer_on:22,rotamer_two:22,rotamergroup:26,rotamerid:[23,25,26],rotamerlib:[25,26,28],rotamerlibentri:28,rotamerset:[23,25,26,29],rotat:12,rotatearoundomegators:12,rotatearoundphipsitors:12,rotatearoundphitors:12,rotatearoundpsitors:12,roughli:16,routin:0,rrm:25,rrmrotam:[22,26],rrmrotamergroup:[23,24,26],rst1:3,rst2:3,rst:[3,4],rule:4,runact:0,runexitstatustest:[0,4],runnabl:4,runtest:[0,4],runtimeerror:[12,13,14,17,18,19,20,21,22,23,26,28],runtimeexcept:20,same:[0,1,3,4,7,13,17,18,19,21,23,26,28],sampl:17,sample_polar_hydrogen:[26,29],sampled_frag:18,sampler:[16,17],sander:19,sanner1996:19,sanner:19,satisfi:27,save:[4,12,13,15,18,19,20,28],savepdb:[10,12,15,18,19,21,25],scheme:[0,4,7,18],sci:17,scondari:21,score:[],scorer:[13,16],scoringgapextend:21,scratch:26,scwrl4:[25,26],seamlessli:4,search:[1,4,11,13,14,15,19,21,25,26],searchdb:19,second:[13,14,17,21,22,26],secondari:[13,14,19],secondli:4,section:[0,3],see:[0,4,5,7,10,14,19,21,29],seed:[14,16,17,18,20],seem:4,segment:12,select:[15,17,18,19,25],selenium:21,self:[0,4,24,26],self_energi:26,send:5,sens:21,sensibl:21,separ:[0,4,13,20,22],seq:[4,14,19,21],seq_alg:4,seq_sep:13,seqid:19,seqr:[13,15,18,19,21],seqres_list:13,seqsim:19,sequenc:[7,10,12,13,17,18],sequencehandl:21,sequencelist:21,sequenceprofil:19,sequenti:12,ser:[26,27,29],serin:27,serv:[0,7,19],servic:4,set:[0,1,3,4,5,7,8,12,13,16,17,18,19,23,24,25,26,28],set_directory_properti:4,setcbetaenergi:13,setcbetapotentialparamet:13,setcbpackingenergi:13,setcbpackingpotentialparamet:13,setenviron:[13,15,18],setframeenergi:[23,25,26],sethbondenergi:13,sethbondpotentialparamet:13,setinternalenergi:26,setinternalenergyprefactor:26,setinterpol:28,setomegators:12,setphipsitors:12,setphitors:12,setpolardirect:26,setprob:26,setpsipredpredict:13,setpsitors:12,setreducedenergi:13,setreducedpotentialparamet:13,setssagreementparamet:13,setssagreementscor:13,setstructureprofil:19,settemperatur:26,settorsionenergi:13,settorsionpotentialparamet:13,setup:[2,4,17,18,21],setup_boost:4,setup_compiler_flag:4,setup_stag:4,setupbackbonescor:21,sever:[1,4,7,13],shake:18,shanno:21,shapovalov:25,shebang:4,sheet:21,shell:[0,1,4,5],shift:21,shiftctermin:21,ship:21,shortest:14,should:[0,3,4,5,7,10,12,13,14,15,17,18,19,20,21,23,24,25,26],show:[0,4,20,25],shown:4,side:[4,21,25],sidechain:[4,10,22,23,24],sidechain_test_orig:25,sidechain_test_rec:25,sidechainparticl:26,sidechains_pymod:4,sidechains_rst:4,sidechains_unit_test:4,sig1:[26,28],sig2:[26,28],sig3:[26,28],sig4:[26,28],silent:0,similar:[0,1,4,13,19,28],similardihedr:28,similarli:1,simpl:[12,18,22,23,28],simplest:[4,21,25],simpli:[12,15,18,27,28],simplif:7,simplifi:19,simul:[14,18],sinc:[0,1,3,4,5,13,19,20,27],singl:[3,4,14,17,18,19,21,23,24,26],sit:4,size:[12,13,14,17,18,19,20,21],skip:[0,4,19],small:[17,21],smaller:[13,17,19,29],smallest:25,smallish:[1,4],smart:4,smng:2,soding2005:19,softsampl:18,softwar:4,sol:25,sole:[0,4],soli:16,solut:[4,17,18],solv:[4,24,25],solvent:19,solver:4,some:[0,1,3,4,7,13,14,18,19,21,23,25,26,28],somehow:14,someth:[0,4,5,19],somethingtest:4,sometim:4,somewher:[3,19],soon:[4,17,25,28],sort:[0,3,28],sound:4,sourc:[0,1,3,4,5,7,8,15,19,21,25,28],source1:[3,4],source2:[3,4],span:21,sparticl:26,spawn:[0,4],special:[0,1,3,4,27,28],specif:[0,13,18,19,20,28],specifi:[1,3,12,14,20,26,28],specimen:5,spehner:19,spend:4,sphinx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],sport:4,squar:19,src:4,ss_agreement:14,ssagre:19,ssagreement:[13,14],ssagreementscor:13,stabil:19,stabl:4,stack:4,stage:[0,1],stage_dir:4,stai:[0,4],standard:[1,4,6,7,13,20,23,26,28],start:[0,1,3],start_resnum:[12,13,14,18],start_temperatur:18,starter:0,stash:4,state:[0,1,4,13,19,22,26,27,28],statist:[13,15,16,19],statu:[0,4],stderr:0,stdout:0,steadili:18,steepest:[17,21],stem:[12,14,15,17,18,19,21],step:[4,10,14,17,18,19,21],stereochem:21,steric:28,still:[4,21],stop:[0,17],stop_criterion:17,store:[0,4,10,12,14,18,19,20,21],stori:4,str:[0,5,7,8,12,13,14,17,18,19,20,21,25,26,27,28],straight:4,strategi:28,strict:4,string:[5,7,13,19,20,21],strip:[21,26],structral:13,structural_db:14,structuralgap:21,structuralgaplist:21,structure_db:[15,19,21],structure_dir:19,structure_path:19,structuredb:[14,15,16,19,21],structureprofil:19,sub:[4,14,17],sub_frag:12,subdir:4,subject:4,submodul:4,submodule1:4,subrotam:[22,26,29],subsequ:[13,21],subst:19,subst_matrix:19,substitut:19,substweightmatrix:19,subtre:[3,4],succeed:21,success:[5,18,24],suffix:5,suggest:4,suit:[0,4,14],sulfur:[22,26],sum:[15,21,26,29],superpos:[12,17,18,19],superpose_stem:12,superposed_rmsd:12,superposeonto:12,superposit:[14,18],supervis:0,supos:19,support:[0,4,5,17],suppos:4,sure:[1,4,7,19],surf:19,surfac:19,surfacehandl:19,surround:[13,19],symmetr:28,system:[0,1,2,3,4],t_sampler:20,tail:12,tailor:21,take:[4,18,19,20,21,24,25],taken:[14,23,26],talk:0,target:[0,1,3,4,7,10,12,17,18,19,21],target_sequ:19,task:[4,17,21],technic:[19,23,29],tell:[0,4,5,7,19],temperatur:[14,18,26,29],templat:[0,7,10,21],temporarili:4,term:[4,13,19,26,27,28,29],termin:[0,5,10,12,14,17,18,21,23],terminal_sequ:18,termini:18,terminu:[18,19],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,7],than:[4,7,13,17,19,21,29],thei:[1,4,12,13,14,18,19,20,25,26,27,28],them:[3,4,9,14,15,19,20,21,23,26,29],theoret:18,therefor:[4,12,16,17,18,19,21,28],thi:[0,1,3,4,5,6,7,8,10,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28],thing:[0,1,4,7,17,19,25,28,29],think:4,thoroughli:4,those:[0,1,3,4,7,14,21,24,25],though:21,thr:[26,27,29],thread:16,three:[0,3,4,12,13,14,18,20,26,27,29],threonin:27,thresh:[13,26,28],threshold:[17,19,21,24,28],through:[0,4,19,21],throughout:[4,7,16],thu:5,tidi:4,tightli:4,time:[0,4,12,13,15,21],tini:[4,21],titl:20,tlc:27,tlctorotid:[25,27],toentiti:[10,12,18,19],togeth:[4,19],too:[4,14,19,21],tool:[3,15,19,25],toolbox:4,top:[1,4,8],topic:[0,4],topolog:17,torsion:[12,13,16,17,18],torsion_angl:25,torsion_bin:13,torsion_sampl:[12,14,17,18,21],torsion_scor:14,torsionprob:19,torsionsampl:[12,13,14,16,17,18,19,20,21],total:19,touch:[0,4],toward:[4,17,21],tpl:21,tpr:[27,28],track:[5,25],tradit:7,tradition:5,train:16,trajectori:18,tran:[13,27,28],transform:[12,26,28],transformation_matrix:12,translat:[27,28],transomegators:13,treat:[4,21,28],tree:[0,3,4,24],trg:7,tri:[21,28],trick:[0,4],trigger:[0,3,4],tripeptid:20,tripl:5,triplet:18,trp:27,trustworthi:4,tryptophan:27,tupl:[5,12],turn:[0,4,5,21],tutori:4,tweak:21,two:[0,4,12,13,14,17,19,21,22,25,26,27,28,29],txt:[0,1,3,4],type:[0,5,7,12,16,19,20,23,25,26],typic:[12,18,25,26],tyr:[26,27,28,29],tyrosin:27,ultra:19,uncertain:4,under:[3,4],undergo:[17,18],underli:14,underscor:0,understand:4,unexpect:1,unfavour:[17,18,22],unfortun:4,uniqu:[14,18,19,28],unittest:[0,4],unix:4,unlik:[25,29],unrecognis:[5,7],until:[4,17,21,24,26],untrack:0,unus:4,updat:[4,17,21],updatedistribut:20,upon:[17,18],url:4,usabl:4,usag:[16,19,23,25],use_scoring_extend:21,user:0,userlevel:0,usr:4,usual:[0,1,3,4,7,15,21],utilis:4,val:[20,27],valid:[4,17,18,21],valin:27,valu:[1,5,7,12,13,14,18,19,23,24,25,26,27,28],vanish:4,varadarajan:19,vari:3,variabl:[0,1,4,10,29],variant:7,variou:[0,1,3,4],vec3:[12,22,23,26],vector:20,verbos:0,veri:[0,4,5,29],verif:7,verifi:[0,4,5],version:[1,4,19,27],version_great:4,vertex:19,via:[0,4,7,8],view:[4,20],virtual:4,visual:10,wai:[0,1,3,4,7,12,15,19,23,25,27],wait:4,walk:[0,4],want:[0,1,4,8,15,17,19,21,26,28],warn:[4,21],watch:4,web:[1,4],weight:[14,18,19],weird:[17,25],well:[1,3,4,13,14,19,20,21,25,26,28],went:4,were:[4,21],wether:24,what:[0,4,5,7,15],when:[0,3,4,7,12,13,14,18,19,20,21,22,23,25,26,28,29],whenev:[4,13],where:[0,4,5,12,19,20,28],wherea:19,whether:[5,12,13,14,17,18,19,23,25,26,28],which:[0,4,5,6,7,10,12,13,14,18,19,20,21,23,26],whistl:4,who:[24,25],whole:[0,4,21],why:[0,4],wild:3,wise:3,within:[1,4,13,21,28],without:[0,3,4,5,16,17,19,21],wno:4,won:[23,25],word:3,work:[0,1,3,4,7,21],worst:4,would:[0,1,4,5,20,22,26],wrapper:[0,4,8,21],wrong:[1,7],www:4,xlabel:20,xlim:20,xxx:27,year:0,yet:[13,19],ylabel:20,ylim:20,you:[0,1,3,4,5,7,8,10,13,14,15,17,18,19,21,23,25,26,28],your:[0,3],your_modul:4,yourself:[1,4],zero:[19,28],zhou2005:19,zhou:19,zip:25},titles:["<code class=\"docutils literal\"><span class=\"pre\">test_actions</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3‘s Share Of CMake","Contributing","<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\">pm3argparse</span></code> - Parsing Command Lines","<code class=\"docutils literal\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","Documentation For Developers","Getting Started","Welcome To ProMod3’s Documentation!","Backbone","Loop Scoring","Helper Classes","<code class=\"docutils literal\"><span class=\"pre\">loop</span></code> - Loop Modelling","Load Loop Objects","Loop Closing","Monte Carlo Sampling","Structural Database","Torsion Sampler","<code class=\"docutils literal\"><span class=\"pre\">modelling</span></code> - Protein Modelling","Disulfid Bond Evaluation","Frame","Coming to a solution","<code class=\"docutils literal\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling","Rotamers","RotamerID","Rotamer Library","Rotamer Settings","Documentation For Users"],titleterms:{"class":[14,20,21],"function":[3,5,6,23,25,26],acid:20,action:[0,3,4],actiontestcas:0,amino:20,api:0,argument:7,backbon:[12,17,28],backboneloopscor:13,base:19,basic:12,block:[12,26],bond:22,branch:4,build:[1,12,26],can:27,carlo:18,ccd:17,chain:19,chang:2,changelog:2,close:[17,21],closer:18,cmake:[0,1,3,4],come:24,command:7,construct:[23,26],contribut:4,conveni:[23,26],cooler:18,core:6,creat:0,databas:19,defin:[19,20],depend:[1,28],develop:9,directori:4,disulfid:22,document:[3,4,9,11,30],edit:12,entri:28,evalu:22,everyth:5,execut:0,extend:21,featur:19,file:5,find:19,fragment:19,frame:23,full:12,gap:21,geometr:19,get:[10,27],git:4,graph:24,group:26,handl:[14,21],have:0,helper:[5,14],hook:4,how:[4,27],indic:11,integr:0,interact:24,introduct:[3,5,7],issu:4,kic:17,librari:28,licens:4,line:7,load:16,loop:[13,14,15,16,17],mainten:3,make:[0,1],messag:5,model:[10,15,21,25],modul:[3,4,25],mont:18,must:0,non:28,object:[16,18,23],onc:14,output:0,own:4,pars:7,parser:7,parti:4,particl:26,pipelin:[10,21],pm3argpars:7,promod3:[1,3,6,10,11],protein:21,psipr:14,reconstruct:25,relax:17,releas:2,residu:[12,23],rotam:[26,28,29],rotamerid:27,run:[0,1,10],sampl:18,sampler:[18,20],score:13,scorer:18,script:0,sequenc:19,set:29,setcompoundschemlib:8,sever:14,share:[3,5],sidechain:25,smallest:26,solut:24,stage:4,start:[4,10],stretch:12,structur:[4,19],subclass:0,tabl:11,test:[0,3,4,5],test_act:0,third:4,torsion:20,triplet:20,type:28,unit:[0,3,4],user:30,welcom:11,write:4,your:4}}) \ No newline at end of file diff --git a/doc/html/sidechain/disulfid.html b/doc/html/sidechain/disulfid.html index 909e1c2710e29142813b1c2cc851eaeacbe9d7c6..c3e1ba39131c02724232ccb705fa6beed2e1c1f1 100644 --- a/doc/html/sidechain/disulfid.html +++ b/doc/html/sidechain/disulfid.html @@ -25,7 +25,7 @@ <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" /> - <link rel="next" title="test_actions.ActionTestCase - Testing Actions" href="../actions/index_dev.html" /> + <link rel="next" title="test_actions - Testing Actions" href="../actions/index_dev.html" /> <link rel="prev" title="Rotamer Settings" href="sidechain_settings.html" /> @@ -95,7 +95,7 @@ returned.</p> <li><a href="../developers.html">Documentation For Developers</a><ul> <li><a href="index.html"><code class="docutils literal"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul> <li>Previous: <a href="sidechain_settings.html" title="previous chapter">Rotamer Settings</a></li> - <li>Next: <a href="../actions/index_dev.html" title="next chapter"><code class="docutils literal"><span class="pre">test_actions.ActionTestCase</span></code> - Testing Actions</a></li> + <li>Next: <a href="../actions/index_dev.html" title="next chapter"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a></li> </ul></li> </ul></li> </ul></li> diff --git a/doc/html/sidechain/index.html b/doc/html/sidechain/index.html index fe5f41669c14a9c8a71fd6537d548019f1fe7104..fd11038d6986ad4508c9642869ece9a752956ef2 100644 --- a/doc/html/sidechain/index.html +++ b/doc/html/sidechain/index.html @@ -26,7 +26,7 @@ <link rel="top" title="ProMod3 0 documentation" href="../index.html" /> <link rel="up" title="Documentation For Developers" href="../developers.html" /> <link rel="next" title="RotamerID" href="rotamer_id.html" /> - <link rel="prev" title="Load Loop Objects" href="../loop/load_loop_objects.html" /> + <link rel="prev" title="Helper Classes" href="../loop/helper_classes.html" /> <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9"> @@ -48,9 +48,9 @@ rotamer models. A rigid model, as well as a flexible model. Both models are implemented in PROMOD3 and can be applied in flexible ways.</p> <div class="section" id="reconstruct-function"> <h2>Reconstruct Function<a class="headerlink" href="#reconstruct-function" title="Permalink to this headline">¶</a></h2> -<p>The simplest usage of the module is provided by the <a class="reference internal" href="#promod3.sidechain.reconstruct_sidechains.Reconstruct" title="promod3.sidechain.reconstruct_sidechains.Reconstruct"><code class="xref py py-func docutils literal"><span class="pre">Reconstruct()</span></code></a> function:</p> +<p>The simplest usage of the module is provided by the <a class="reference internal" href="#promod3.sidechain.Reconstruct" title="promod3.sidechain.Reconstruct"><code class="xref py py-func docutils literal"><span class="pre">Reconstruct()</span></code></a> function:</p> <div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">io</span><span class="p">,</span><span class="n">mol</span> -<span class="kn">from</span> <span class="nn">promod3.sidechain</span> <span class="kn">import</span> <span class="n">reconstruct_sidechains</span> +<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">sidechain</span> <span class="c">#load a protein</span> <span class="n">prot</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadPDB</span><span class="p">(</span><span class="s">'1eye'</span><span class="p">,</span><span class="n">remote</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> @@ -58,13 +58,13 @@ implemented in PROMOD3 and can be applied in flexible ways.</p> <span class="n">prot</span> <span class="o">=</span> <span class="n">mol</span><span class="o">.</span><span class="n">CreateEntityFromView</span><span class="p">(</span><span class="n">prot</span><span class="o">.</span><span class="n">Select</span><span class="p">(</span><span class="s">"peptide=true"</span><span class="p">),</span><span class="bp">True</span><span class="p">)</span> <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">prot</span><span class="p">,</span><span class="s">"sidechain_test_orig.pdb"</span><span class="p">)</span> <span class="c">#reconstruct sidechains</span> -<span class="n">reconstruct_sidechains</span><span class="o">.</span><span class="n">Reconstruct</span><span class="p">(</span><span class="n">prot</span><span class="p">)</span> +<span class="n">sidechain</span><span class="o">.</span><span class="n">Reconstruct</span><span class="p">(</span><span class="n">prot</span><span class="p">)</span> <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">prot</span><span class="p">,</span><span class="s">"sidechain_test_rec.pdb"</span><span class="p">)</span> </pre></div> </div> <dl class="method"> -<dt id="promod3.sidechain.reconstruct_sidechains.Reconstruct"> -<code class="descclassname">promod3.sidechain.reconstruct_sidechains.</code><code class="descname">Reconstruct</code><span class="sig-paren">(</span><em>prot</em><span class="optional">[</span>, <em>keep_sidechains=False</em>, <em>build_disulfids</em>, <em>rotamer_model="frm"</em>, <em>consider_hbonds=True</em>, <em>rotamer_library=None</em>, <em>add_polar_hydrogens=False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/sidechain/reconstruct_sidechains.html#Reconstruct"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.sidechain.reconstruct_sidechains.Reconstruct" title="Permalink to this definition">¶</a></dt> +<dt id="promod3.sidechain.Reconstruct"> +<code class="descclassname">promod3.sidechain.</code><code class="descname">Reconstruct</code><span class="sig-paren">(</span><em>prot</em>, <em>keep_sidechains=False</em>, <em>build_disulfids</em>, <em>rotamer_model="frm"</em>, <em>consider_hbonds=True</em>, <em>rotamer_library=None</em>, <em>add_polar_hydrogens=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/sidechain/_reconstruct_sidechains.html#Reconstruct"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.sidechain.Reconstruct" title="Permalink to this definition">¶</a></dt> <dd><p>The function takes a structure and reconstructs its sidechains given the input parameters.</p> <table class="docutils field-list" frame="void" rules="none"> @@ -75,9 +75,9 @@ parameters.</p> <li><strong>prot</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) – Structure for sidechain reconstruction. Note, that the sidechain reconstruction gets directly applied on the structure itself.</li> -<li><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Flag, whether sidechains containing all required -should be kept rigid and directly be added to the -frame.</li> +<li><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Flag, whether complete sidechains in <em>prot</em> (i.e. +containing all required atoms) should be kept rigid +and directly be added to the frame.</li> <li><strong>build_disulfids</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Flag, whether possible disulfid bonds should be searched. If a disulfid bond is found, the two participating cysteins are fixed and added to @@ -106,7 +106,9 @@ structure.</li> <p>The following code fragment shows an example of a basic sidechain reconstruction algorithm using the functionality in the module. Note, that this code will crash as soon as you have structures containing all the weirdness the PDB throws -at us. In this case, you should use the <a class="reference internal" href="#promod3.sidechain.reconstruct_sidechains.Reconstruct" title="promod3.sidechain.reconstruct_sidechains.Reconstruct"><code class="xref py py-func docutils literal"><span class="pre">Reconstruct()</span></code></a> function above. An overview of the full provided functionality can be found at the bottom of this page.</p> +at us. In this case, you should use the <a class="reference internal" href="#promod3.sidechain.Reconstruct" title="promod3.sidechain.Reconstruct"><code class="xref py py-func docutils literal"><span class="pre">Reconstruct()</span></code></a> +function above. An overview of the full provided functionality can be found at +the bottom of this page.</p> <div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">io</span><span class="p">,</span><span class="n">mol</span> <span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">sidechain</span> @@ -251,7 +253,7 @@ at us. In this case, you should use the <a class="reference internal" href="#pro <ul> <li><a href="../index.html">Documentation overview</a><ul> <li><a href="../developers.html">Documentation For Developers</a><ul> - <li>Previous: <a href="../loop/load_loop_objects.html" title="previous chapter">Load Loop Objects</a></li> + <li>Previous: <a href="../loop/helper_classes.html" title="previous chapter">Helper Classes</a></li> <li>Next: <a href="rotamer_id.html" title="next chapter">RotamerID</a></li> </ul></li> </ul></li> diff --git a/doc/html/sidechain/rotamer_lib.html b/doc/html/sidechain/rotamer_lib.html index 7c7cce9761079e703a012e2e511a8eb3ea0797fc..0591f5856340798567ae11b341946025293c6863 100644 --- a/doc/html/sidechain/rotamer_lib.html +++ b/doc/html/sidechain/rotamer_lib.html @@ -97,7 +97,7 @@ mode you can get the rotamers out of it or dump it to disk.</p> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of rotamer to be added</li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer to be added</li> <li><strong>rotamer</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a>) – the rotamer to be added</li> </ul> </td> @@ -126,7 +126,7 @@ special <em>id</em> requests.</p> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of rotamer of interest</td> +<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer of interest</td> </tr> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#list" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a> of nonzero probability sorted by their probability</td> @@ -202,7 +202,7 @@ and ready for io.</p> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of rotamer to be added</li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer to be added</li> <li><strong>r1</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Configuration of chi1</li> <li><strong>r2</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Configuration of chi2</li> <li><strong>r3</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Configuration of chi3</li> @@ -247,7 +247,7 @@ special <em>id</em> requests.</p> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of rotamer of interest</li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer of interest</li> <li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Phi backbone dihedral angle in range [-pi,pi[</li> <li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Psi backbone dihedral angle in range [-pi,pi[</li> </ul> @@ -271,11 +271,11 @@ found</p> <dd><p>Once all rotamers are added, the library can be made static to become readable and ready for io. Several things get checked during this process</p> <ul class="simple"> -<li>For every phi/psi bin combination of a particular <code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>, +<li>For every phi/psi bin combination of a particular <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>, the same number of rotamers must have been added</li> <li>All configuration combinations of the added rotamers in one phi/psi bin -of a particular <code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code> must be unique</li> -<li>The configuration combinations of a particular <code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code> must +of a particular <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a> must be unique</li> +<li>The configuration combinations of a particular <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a> must be consistent across all phi/psi bins</li> </ul> <table class="docutils field-list" frame="void" rules="none"> @@ -398,7 +398,7 @@ functionalities.</p> <dt id="promod3.sidechain.RotamerLibEntry.FromResidue"> <em class="property">static </em><code class="descname">FromResidue</code><span class="sig-paren">(</span><em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.FromResidue" title="Permalink to this definition">¶</a></dt> <dd><p>Creates a <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>. -The function tries to automatically identify the <code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code> based +The function tries to automatically identify the <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a> based on the residue name. The probability gets set to zero and the standard deviations to 0. All not required chi angles with their corresponding standard deviations are NaN.</p> @@ -411,7 +411,7 @@ standard deviations are NaN.</p> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a></td> </tr> <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">RuntimeError</span></code> if residue name cannot be -translated to <code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code> or when not all +translated to <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a> or when not all required atoms are present in <em>res</em>.</td> </tr> </tbody> @@ -431,7 +431,7 @@ are NaN.</p> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <li><strong>res</strong> (<a class="reference external" href="http://www.openstructure.org/docs/1.3/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.3.3)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Source of dihedral angles</li> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – The identity of the returned <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a></li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – The identity of the returned <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a></li> </ul> </td> </tr> @@ -490,7 +490,7 @@ the chi2 is checked for its actual value, but also for its flipped state.</p> <li><strong>other</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</li> <li><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be considered similar</li> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of the entries to be compared</li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</li> </ul> </td> </tr> @@ -548,7 +548,7 @@ for its actual value, but also for its flipped state.</p> (0 for chi1, 3 for chi4)</li> <li><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be considered similar</li> -<li><strong>id</strong> (<code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code>) – Identity of the entries to be compared</li> +<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</li> </ul> </td> </tr>